我安卓程序里比如有很多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);

解决方案 »

  1.   

    findViewById(R.id.keyword+""+i);
      

  2.   

    用反射,可能会牺牲一些性能,但是是比较方便的做法。
    示例代码:
    /**
     * 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);
    }
    }
    }
      

  3.   

    System.out.println("学习中");