我安卓程序里比如有很多edittext, 但是他们的id是有个规律的。我现在要这样写
findViewById(R.id.keyword0);
findViewById(R.id.keyword1);
findViewById(R.id.keyword2);
findViewById(R.id.keyword3);
findViewById(R.id.keyword4);
findViewById(R.id.keyword5);
.
.
.
要写很多,如果有类似c语言的##,
我就可以在一个循环里写上findViewById(R.id.keyword##i);
findViewById(R.id.keyword0);
findViewById(R.id.keyword1);
findViewById(R.id.keyword2);
findViewById(R.id.keyword3);
findViewById(R.id.keyword4);
findViewById(R.id.keyword5);
.
.
.
要写很多,如果有类似c语言的##,
我就可以在一个循环里写上findViewById(R.id.keyword##i);
示例代码:
/**
* Hello world!
*
*/
public class App {
public static class R{
public static class id{
public static final String keyword0 = "0";
public static final String keyword1 = "1";
public static final String keyword2 = "2";
public static final String keyword3 = "3";
public static final String keyword4 = "4";
public static final String keyword5 = "5";
public static final String keyword6 = "6";
public static final String keyword7 = "7";
public static final String keyword8 = "8";
public static final String keyword9 = "9";
public static final String keyword10 = "10";
}
}
public static void main(String[] args) throws IllegalArgumentException, IllegalAccessException, NoSuchFieldException, SecurityException {
for (int i = 0; i <= 10; i++) {
Object val = R.id.class.getDeclaredField("keyword" + i).get(null);
System.out.println(val);
}
}
}