android通过反射代替R来获取控件对象

来源:互联网 发布:php 表示根目录 编辑:程序博客网 时间:2024/05/29 10:47

在android里通过xml布局文件寻找某个控件时,我们通常做法是通过R文件来指向

如: findById(R,id.xx);


但其实还有另外一种方法来获取控件 》》反射

如 :

name : id的命名

findById(context.getResource().getIdentifier(name,"id",context.getPackageName));


如此类推:

获取string类型

name : string的命名

findById(context.getResource().getIdentifier(name,"string",context.getPackageName));



这种做法的好处是,自己的一个完成工程可以融入到其他工程去,因为R文件是根据当前工程的包名来指向,如果融入到其他项目时,包名发生改变

那么R文件所指向的资源就会报错,而通过反射就能不受包名影响而指向到指定的资源。

0 0
原创粉丝点击