按名称查找视图

Dre*_*ejc 24 android android-layout

是否可以通过名称而不是ID来查找视图.

findViewById(R.id.someView);
Run Code Online (Sandbox Code Playgroud)

但我想做这样的事情:

findViewByName("someView");
Run Code Online (Sandbox Code Playgroud)

MrJ*_*Jre 60

您必须在处理xml时按标识符查找视图,但是您可以使用getIdentifier(String name,...)查找标识符,如果您的布局编号为例,这将非常有用.请注意,这样的查找相对昂贵.

完成答案

int id = getResources().getIdentifier(name, "id", context.getPackageName());
View view = findViewById(id);
Run Code Online (Sandbox Code Playgroud)