Well, two ways to deal with this. One would be to make the textfield array a member variable rather than a local variable -- then it doesn't need to be final. The code would hardly change at all -- just move the declaration up to class scope. The other way is just to make the existing variable final, as the compiler suggests. Making the array reference final does not prevent you from modifying the contents -- it only prevents you from allocating a new array altogether, something you likely don't need to do. Try it.