两个具有相同id的XML元素

Ser*_*his 8 android textview

我试图以完全相同的方式修改两个TextView.我以为我可以给它们相同的id,并且使用findViewById()和setText()方法将这些TextViews改为两行.但似乎只有一个TextView被更改.

有没有办法做到这一点?或者我必须为每个元素创建不同的id,通过findViewById()方法获取每个元素并设置它的文本?

Fel*_*lix 5

视图ID是普通整数,因此您可以简单地拥有要更改的ID数组.例如:

int[] ids = { R.id.text1, R.id.text2, ... };
for (int id: ids) {
    TextView tv = (TextView) findViewById(id);
    tv.setText("Hello, World!");
}
Run Code Online (Sandbox Code Playgroud)

当然,最好有ids一个静态的最终类成员.即:

public class MyActivity extends Activity {
    private static final int[] textViewIDs = {
        R.id.text1,
        R.id.text2,
        ...
    }
    ...
}
Run Code Online (Sandbox Code Playgroud)