You're trying to access a local variable within an anonymous inner class.

Either Initialise String[] names as an instance variable or say:
final String[] names;

Hope this helped.

Edit:...