android中的R中属性获取相关
16lz
2021-01-25
1.根据R中属性的内存地址获取属性的名称:
getString(R.string.app_name)
2. 根据R中属性的名称获取属性对应的内存地址:
getResources().getIdentifier("icon", R.drawable.class.getSimpleName(), R.class.getPackage().getName())
测试代码:
public class RSourceActivity extends Activity {private static final String TAG = "RSourceActivity"; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.e(TAG, "===:" + getString(R.string.app_name)); Log.e(TAG, "===:" +getRInt("icon")); Log.e(TAG, "===:" + getResources().getIdentifier("icon", R.drawable.class.getSimpleName(), R.class.getPackage().getName())); } /** * 根据R中资源的名称获取对应的内存地址 * @param name * @return */private int getRInt(String name){Field[] fields = R.drawable.class.getDeclaredFields();for (Field field : fields) {if (field.getName().equals(name)) {try {return field.getInt(R.drawable.class);} catch (Exception e) {e.printStackTrace();}}}return 0;}}
更多相关文章
- Android文档学习08_自定义view
- 分析(Android下的任务和Activity栈)
- android Bitmap类方法属性 详细说明
- [无线] AndroidManifest.xml配置文件详解
- Android(安卓)单选/复选控件
- [android]动态查询手机内存
- java.lang.OutOfMemoryError: bitmap size exceeds VM budget
- android studio 打包jar 及混淆
- Appium的简单使用(Android参数获取)