Android 和获取 id 作为字符串的视图

2022-09-01 18:20:33

在 Android 项目的 Java 代码中,如果你想要一个视图资源的引用,你可以做这样的事情:

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

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

我想用“”来引用一个按钮,其中被一些有效的索引所取代。R.id.button_%i%i


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

其中,替换为某个有效的索引。%i

该方法属于该类,因此您可以直接从 .如果您不在活动内部,请使用上下文访问:()。getResources()ContextActivitymyCtxt.getResources()


答案 2

您可以尝试将所有所需的 id 放在一个数组中,然后使用该数组来动态引用您的资源。