2011-03-14 37 views
3
Cursor c = dbHelper.getMostRecent(); 
String[] from = new String[] { "name", "data", "thumb" }; 
int[] to = new int[] { R.id.activityName, R.id.activityData, R.id.activityThumb }; 

startManagingCursor(c); 
SimpleCursorAdapter activities; 
activities = new SimpleCursorAdapter(this, R.layout.activitywidget, c, from, to); 
setListAdapter(activities); 

在第二行中,我从数据库中获取名称,数据和缩略图。 在第三行,我为activityName(TextView),activityData(TextView)和activityThumb(ImageView)设置了这些值。Android - 在数据库中存储/设置imageResource路径?

它适用于“名称”和“数据”,但我不知道该怎么把“拇指”。 我在/ res/drawable /中有一些图像,但我不知道如何将它们存储在数据库中(文件路径为字符串?R.drawable.IMAGE_NAME作为字符串?是否需要将它保存为原始数据不知何故?)

最好的情况下情况:我想只告诉列表中的activityThumb的每个实例它应该用作它的资源的图像路径。

编辑:我想通过创建SimpleCursorAdaptor的实现和重写bindView。

回答

0

R.drawable.IMAGE_NAME是一个整数。您可以将其存储到数据库中,但它可能会在下一个版本中更改并打破所有现有数据库。

您可以使用2个字段来执行枚举:一个可以存储在数据库中的“外部表示”字符串和一个表示资源标识符的int。您还需要一种方法来从字符串表示中恢复枚举,例如使用地图。

0

我想通过创建SimpleCursorAdaptor的实现并重写bindView。

public void bindView(View view, Context context, Cursor cursor) { 
    ImageView imageView = (ImageView) view.findViewById(R.id.image); 

    //do stuff with image here 

    super.bindView(view, context, cursor); 

}

相关问题