我想找到不同的TextViews
,这取决于整数。
假设我有三个TextView:
<TextView
android:id="@+id/text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
<TextView
android:id="@+id/text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
在我的 MainActivity 中,我有以下内容:
String resourceText = "R.id.text";
int textCounter = 1;
TextView text1 = (TextView) findViewById(resourceText + textCounter);
所以结果应该是我可以通过textCounter访问不同的TextView但它不起作用。
但是使用这段代码会给我一个错误,说明findViewByID函数需要一个整数。
答案 0 :(得分:0)
您可以使用getIdentifier()
转换资源ID的字符串版本。
您只需要以这种方式修改代码。
String resourceText = "R.id.text";
int textCounter = 1;
textViewResId=getResources().getIdentifier(resourceText+textCounter, "id", getPackageName());
TextView text1 = (TextView) findViewById(textViewResId);