getResources().getIdentifier(String name, String defType, String defPackage)动态获取资源id

因eclipse和android studio 资源R.java生成机制可能不同,导致之前eclipse开发的老项目导入到android studio 上运行起来有的功能会报错

打个比方
eclipse中相连的有规则的控件,可以使用findViewById(R.id.text_0+ i)来初始化;但是使用android studio 上运行起来报错(类型转换异常)

解决方案
//资源id,资源类型,app包名
findViewById(getResources().getIdentifier(“text_” + i, “id”, “com.a.b”));

注意事项
布局文件中控件的id命名规则,如:text_0,text_1,text_2等等

你可能感兴趣的:(android)