【问题标题】:Drawable Reference Store in Database数据库中的可绘制参考存储
【发布时间】:2011-09-13 21:02:45
【问题描述】:

我有一些图像名称存储在数据库中(Fully Qualified Like R.drawable.SomeImageName)列类型是整数,但图像本身位于应用程序的 /res/drawable 文件夹中。

我需要在运行时将这些图像分配给一些视图,我目前正在这样做:

SomeView.setBackgroundResource(Cursor.getstring(Image_column_Index));

someView.setBackgroundResource(getResources().getIdentifier(cursor.getString(Image_Column_Index, null, null));

这些方法都不起作用。提前致谢。

【问题讨论】:

  • 首先 R 文件是在构建期间自动生成的。您从哪里获取数据库 ID?
  • 您还面临什么样的“不起作用”?例外,“没有发生”或其他什么?

标签: android database reference store drawable


【解决方案1】:

对于 R.drawable.image_name 尝试这样的事情

getResources().getIdentifier("image_name","drawable", getPackageName())

或使用

getResources().getIdentifier("your.full.pakage.name:drawable/image_name",null,null);

【讨论】:

  • @Selvin 这种方法是否与通过 R.drawable.. 检索资源一样有效?在 AdapterList 中使用它(getIdentifier() 方法)是个好主意吗?
  • 应该是......但您可能总是将结果缓存在模型中,例如 class Model { resID = -1, resName = "someName" } 然后在 getView if(model.resID == -1) { model.resID = getIdentifier(model.resName); }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-29
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多