我们假设我在我的应用程序中使用res布局
<TextView android:id="@+id/titleText" android:layout_width="fill_parent"
android:layout_height="wrap_content" android:text="@string/app_name"
android:textColor="#ffffffb0" android:padding="5px" />
在我的活动中,我使用此命令获取TextView
TextView tv = (TextView)findViewById(R.id.titleText);
但我正在寻找另一种方法
TextView tv = (TextView)findViewByString("R.id."+"titleText");
因为我需要枚举那些ID。你们中的任何一个人都可以给出一个提示或线索,我该如何解决这个问题?感谢
答案 0 :(得分:49)
您可以使用以下内容:
Resources res = getResources();
int id = res.getIdentifier("titleText", "id", getContext().getPackageName());
然后使用id。
答案 1 :(得分:0)
在Kotlin中,您可以使用此行获取ID。
val id: Int = resources.getIdentifier("titleText", "id", packageName)
返回的值可以用作函数findViewById<TextView>(id)
的参数。
注意:如果在活动之外调用if,请使用上下文。
val id: Int = context.resources.getIdentifier("titleText", "id", context.packageName)