tags:

views:

26

answers:

1

Hi,

If you got:

Button btn = (Button) findViewById(R.id.widget28);

where "widget28" is the name of your button, how can you pass this into the findViewById as a String? or get it from R class as a string?

I want to get the Button instance by string and not by the hard code R.id.widget28 reference.

thanks

+1  A: 

Note that findViewById expects an int, not a string, so not sure what you're trying to achieve here.

But the general way to get a string from its resource id is getString(R.string.theId). See the Context API docs.

I don't believe even with reflection that you can get the variable's name, widget28, if you actually need it for some reason. You could look into using the button's android:tag element to store it in the XML file, you'd then retrieve it in code by using yourButton.getTag(), but I'd look into designing it differently.

JRL