将每个资源的名称与sqlite数据库的变量的内容进行比较

Ele*_*ary 6 java comparison android contains drawable

我希望你能帮助我,我已经研究过我的案子,但没有找到一个好的答案.我想将变量的内容与所有现有资源的名称进行比较(如果可能,仅使用可绘制资源).

简而言之:如何将变量的String内容与所有资源名称列表进行比较,仅优先使用可绘制资源?或者换句话说:如何获取所有资源名称的列表(包含字符串),只优先绘制可绘制资源?

案例:我想根据给定的类型显示符号.从SQLite数据库中检索此类型.有许多符号存储为可绘制资源,它们都以可能的类型命名.对于数据库中的每个存储类型,我想在列表中显示拟合符号.平等应当找出通过比较变量"类型"和包含所有(绘制)资源的名称的列表之间(通过包含法).

示例:在数据库中有名为"A","B"和"C"的类型.在drawable resources文件夹中是名称为"A","BX"和"S"的图形.比较应该导致这样的情况,即在列表中只有类型"A"与拟合可绘制符号"A"相关联.类型"B"和"C"没有可能命名的可绘制资源,因此不应显示任何符号.

我希望你能理解我的问题并感谢你的帮助.

Luk*_*rog 15

或者换句话说:如何获取所有资源名称的列表(包含字符串),只优先绘制可绘制资源?

这可能是你想要的:

Field[] fields = R.drawable.class.getFields();
String[] allDrawablesNames = new String[fields.length];
for (int  i =0; i < fields.length; i++) {           
    allDrawablesNames[i] = fields[i].getName();
}
Run Code Online (Sandbox Code Playgroud)