您的位置:首页 > 移动开发 > Android开发

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

2014-09-29 19:38 447 查看
近期想优化一下之前的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<num.length;k++){
id[k] = getResources().getIdentifier("pay"+k, "id", getPackageName());
ed[k] = (EditText) AAcharge.this.popView.findViewById(id[0]);
}

是不是很方便啊~~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  layout id android开发 java
相关文章推荐