在Android项目的Java代码中,如果需要视图资源的引用,可以执行以下操作:
View addButton = findViewById(R.id.button_0);
在上面的R.id.button_0不是String。是否可以通过字符串动态引用资源,例如“R.id.button_0
”?
我想引用“R.id.button_%i
”按钮,其中%i
被某个有效索引替换。
答案 0 :(得分:54)
int resID = getResources().getIdentifier("button_%i",
"id", getPackageName());
View addButton = findViewById(resID);
其中%i
被某个有效索引替换。
getResources()
方法属于Context
类,因此您可以直接使用Activity
。如果您不在活动中,请使用上下文访问:(myCtxt.getResources()
)。
答案 1 :(得分:4)
您可以尝试将所需的所有ID放入数组中,然后使用该数组动态引用您的资源。