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)设置了这些值。
它适用于“名称”和“数据”,但我不知道该为“拇指”放什么。 我在/ res / drawable /中有一些图像,但我不知道如何将它们存储在数据库中(文件路径为字符串?R.drawable.IMAGE_NAME为字符串?我是否需要将其保存为原始数据? ?)
最佳案例场景:我想告诉列表中每个activityThumb的实例应该使用哪个图像路径作为其资源。
编辑:我通过创建SimpleCursorAdaptor的实现并覆盖bindView来解决这个问题。答案 0 :(得分:0)
R.drawable.IMAGE_NAME是一个整数。您可以将其存储到数据库中,但它可能会在下一次构建时更改并中断所有现有数据库。
您可以使用2个字段执行枚举:一个可以存储在数据库中的“外部表示”字符串和一个表示资源标识符的int。您还需要一种从字符串表示中恢复枚举的方法,例如:使用地图。
答案 1 :(得分: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);
}