Android开发——通过使用getResource.getIdentifier() 获取layout中组件id

近期想优化一下之前的Android程序,主要是在获取layout中组件的时候,如果总是通过下面代码来获取id并调用的话实在是太麻烦了,代码量太大,而且太不美观了!

EditText ed1 = (EditText) AAcharge.this.popView.findViewById(R.id.pay1);

所以就想有没有什么方法通过循环来获取id,然后再去调用呢?通过各种搜索,比较杂吧,现在就做个笔记,防止以后忘记了!

主要是通过getResources().getIdentifier()来获取,如下:

id1 = getResources().getIdentifier("pay1", "id", getPackageName());
这样,我们通过传递字符串pay1就可以得到对应的id值,然后:

EditText ed1 = (EditText) AAcharge.this.popView.findViewById(id1);
请不要在意前面的AAcharge.this.popView,实际中只要是用到findViewById都可以通过上面的方法先获取id1再去获取组件。

那么,这样做的好处是什么呢?就像我前面说的,我是想通过循环来获取id,然后这样就以批次的获得组件,增加了程序的灵活性。这样我们可以通过下面的循环来获取资源或layout的id等信息了!

for (int k =0;k

是不是很方便啊~~



你可能感兴趣的:(Android)