Android:资源修改后可绘制的可变ID

前端之家收集整理的这篇文章主要介绍了Android:资源修改后可绘制的可变ID前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个 Android应用程序,使用图库组件来选择一个图标,并将其分配给一个按钮.
该图标集位于res / drawable文件夹中,并在图库中使用指南的典型适配器进行访问:
private Integer[] Imgid = {
   R.drawable.icon_home,R.drawable.icon_home2,...
}

在图标选择之后,我将设置存储在具有按钮ID和drawable的数据库中.
所有的作品都完成了,但是我注意到,如果我想添加修改我的应用程序的一般图标集或资源,旧资源的ID可能会改变,所以数据库中的首选项是错误的图标.
有没有办法强迫R类的旧身份,以便他们未来不会改变?还有另一种方式来管理组件厨房的项目,而不是id? (可能是字符串名称和反射?)

提前致谢

解决方法

如果不打算改变,可以将数据库名称存储在数据库中. getResourceEntryName从资源id返回名称
Resources resources = getResources();
String name = resources.getResourceEntryName(R.drawable.icon);

您可以使用getIdentifier从名称获取资源ID:

int resId = resources.getIdentifier(name,"drawable","your.package.name");
原文链接:/android/313298.html

猜你在找的Android相关文章