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

SK9*_*SK9 24 java layout android

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

View addButton = findViewById(R.id.button_0);
Run Code Online (Sandbox Code Playgroud)

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

我想通过" R.id.button_%i" 来引用一个按钮,其中%i某个有效索引被替换.

Cri*_*ian 54

int resID = getResources().getIdentifier("button_%i",
    "id", getPackageName());
View addButton = findViewById(resID);
Run Code Online (Sandbox Code Playgroud)

where %i由某个有效索引替换.

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

  • 请注意,这比直接使用ID要慢得多. (3认同)