Android and getting a view with id cast as a string
In the Java code of an Android project if you want the reference for a view resource you can do something like:
View addButton = findViewById(R.id.button_0);
In the above R.id.button_0 is not a String. Is it possible to dynamically refer to a resource by a string, such as "R.id.button_0
"?
I'd like to refer to a button by "R.id.button_%i
" where %i
is replaced by some valid index.
int resID = getResources().getIdentifier("button_%i",
"id", getPackageName());
View addButton = findViewById(resID);
where %i
is replaced by some valid index.
The getResources()
method belongs to the Context
class, so you can use that directly from an Activity
. If you are not inside an activity, then use a context to access: (myCtxt.getResources()
).
You could try putting all the ids you want in an array and then using that array to dynamically refer to your resources instead.