Android-使用Java循环ID

时间:2016-07-29 23:53:22

标签: java android

我想找到不同的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函数需要一个整数。

1 个答案:

答案 0 :(得分:0)

您可以使用getIdentifier()转换资源ID的字符串版本。 您只需要以这种方式修改代码。

String resourceText = "R.id.text";
int textCounter = 1;
textViewResId=getResources().getIdentifier(resourceText+textCounter, "id", getPackageName());
TextView text1 = (TextView) findViewById(textViewResId);