我的activity.java文件中有这个。
text[0] = (EditText) findViewById(R.id.editText2);
text[1] = (EditText) findViewById(R.id.editText3);
text[2] = (EditText) findViewById(R.id.editText4);
text[3] = (EditText) findViewById(R.id.editText5);
text[4] = (EditText) findViewById(R.id.editText6);
text[5] = (EditText) findViewById(R.id.editText7);
text[6] = (EditText) findViewById(R.id.editText8);
text[7] = (EditText) findViewById(R.id.editText9);
如何用for循环编写它。
for(int i=o;i<8;i++)
text[i] = (EditText) findViewById(R.id.<what here>);
如何在这里引用带索引的edittext?
答案 0 :(得分:0)
您可以使用常量数组。
// in your class
private static final int[] TEXT_IDS = { R.id.editText2, R.id.editText3, ... , R.id.editText9};
//initializing
for(int i = o; i < TEXT_IDS.length; i++)
text[i] = (EditText) findViewById(TEXT_IDS[i]);
答案 1 :(得分:0)
您可以使用getIdentifier()
for(int i=0; i<8; i++) {
for(int j=0; j<8; j++) {
String editTextID = "btn" + i + "-" + j;
int resID = getResources().getIdentifier(editTextID
,"id", "com.example.yourpackagename");
buttons[i][j] = ((EditTextID) findViewById(resID));
}
}
答案 2 :(得分:0)
你可以尝试类似下面的答案,这是从here逐字逐句采纳的。
import java.lang.reflect.Field;
/* ... */
for (int i = 1; i < 16; i++) {
int id = R.id.class.getField("s" + i).getInt(0);
tv[i] = (TextView)findViewById(id);
tv[i].setTypeface(face);
tv[i].setClickable(true);
tv[i].setOnClickListener(clickListener);
}