Android并获取一个id转换为字符串的视图

时间:2011-01-18 23:07:45

标签: java android layout

在Android项目的Java代码中,如果需要视图资源的引用,可以执行以下操作:

View addButton = findViewById(R.id.button_0);

在上面的R.id.button_0不是String。是否可以通过字符串动态引用资源,例如“R.id.button_0”?

我想引用“R.id.button_%i”按钮,其中%i被某个有效索引替换。

2 个答案:

答案 0 :(得分:54)

int resID = getResources().getIdentifier("button_%i",
    "id", getPackageName());
View addButton = findViewById(resID);

其中%i被某个有效索引替换。

getResources()方法属于Context类,因此您可以直接使用Activity。如果您不在活动中,请使用上下文访问:(myCtxt.getResources())。

答案 1 :(得分:4)

您可以尝试将所需的所有ID放入数组中,然后使用该数组动态引用您的资源。