Id为的Java Android ArrayList

Id为的Java Android ArrayList,java,android,arraylist,Java,Android,Arraylist,我有十个数字CIMAL inputs,名称为input_1,input_2,…,input_10。 在主要活动中,我通过这种方式获取他们的身份证 EditText input_1 = (EditText) findViewById(R.id.input_1); EditText input_2 = (EditText) findViewById(R.id.input_2); ... EditText input_10 = (EditText) findViewById(R.id.input_10

我有十个数字CIMAL inputs,名称为input_1,input_2,…,input_10。 在主要活动中,我通过这种方式获取他们的身份证

EditText input_1 = (EditText) findViewById(R.id.input_1);
EditText input_2 = (EditText) findViewById(R.id.input_2);
...
EditText input_10 = (EditText) findViewById(R.id.input_10);
所以我想知道是否有任何方法可以通过FOR或任何其他循环和数组来获取id。举个例子

for(i=1;i<10;i++) {
 EditText input_i = (EditText) findViewById(R.id.input_i);
}
for(i=1;i您可以使用,然后获取编辑文本的标识符:

for(i=1;i<10;i++) {
    int resourceIdentifier = this.getResources().getResourceIdentifier("input_".concat(String.valueOf(i));
    EditText input_i = (EditText) findViewById(resourceIdentifier, "id", this.getPackageName()));
}

for(i=1;i创建EditText数组,然后访问此EditText数组

Integer[] input_edit={R.id.input_1, R.id.input_2, R.id.input_3};


for (int i = 0; i < input_edit.length; i++) {
 EditText input = (EditText) findViewById(input_edit[i]);
**Then put this EditText Value in any Array if you need to work out side of this loop**         
}
Integer[]input\u edit={R.id.input\u 1,R.id.input\u 2,R.id.input\u 3};
对于(int i=0;i

谢谢

这是一种有效的方法。 我使用了两种方法,它们是:getResource()getIdentifier()

第一个用于访问应用程序的资源,例如:您可以使用它使用
getResource().getString(id)
获取对字符串的引用,或者使用
getResource().getDrawable(id)
获取可绘制文件。您可以在此处获取有关其方法的更多信息:

第二个是资源类中用于获取ID的方法

 EditText input;

for(int x = 0; x < 10; x++){

  //here you get the id

 int current_id =  this.getResources().getIdentifier("input_".concat(String.valueOf(i)), "id" ,getPackageName());

 //here you set the id
 input = (EditText) findViewById(current_id);

}
EditText输入;
对于(int x=0;x<10;x++){
//给你身份证
int current_id=this.getResources().getIdentifier(“input_”).concat(String.valueOf(i)),“id”,getPackageName();
//在这里您设置了id
输入=(EditText)findViewById(当前_id);
}
getIdentifier()
需要3个参数,它们是:
(字符串名称、字符串定义类型、字符串定义包)


您可以在此处阅读相关内容:

在使用此文件的位置打印xml。