我之前看过这个问题,但似乎答案可能已经过时了。
我从微调器中提取数值并将其作为字符串存储在sqlite数据库中。 我有一个imageview放在行xml文件中。我确定会涉及创建某种适配器。
如何根据数据库中字符串的值更改imageview源?
这是我现在拥有的。 imageview src是静态的,id位于xml布局中。
``
private void fillData(){
String journalId = ((resource) this.getApplication()).getjournalId();
Cursor notesCursor = mDbHelper.fetchAllPlaces(journalId);
startManagingCursor(notesCursor);
String[] from = new String[]{journalDbAdapter.KEY_JOURNAL_NAME, journalDbAdapter.KEY_PLACE
, journalDbAdapter.KEY_DATE};
int[] to = new int[]{R.id.placedetail1, R.id.placedetail2, R.id.placedetail3};
SimpleCursorAdapter notes =
new SimpleCursorAdapter(this, R.layout.placedetailrow, notesCursor, from, to);
setListAdapter(notes);
}``
我有一个额外的字段KEY_TEMP,如果是一个字符串(0或1或2或3),它将有一个值。 我想在每个案例中更改imageview src。
答案 0 :(得分:0)
我最终创建了自己的游标适配器: 这是从数据库获取值并使用switch语句设置图像的部分。
int healthCol = c.getColumnIndex(journalDbAdapter.KEY_HEALTH); int health = c.getInt(healthCol); ImageView health_img = (ImageView) v.findViewById(R.id.cross); switch(health) { case 0: health_img.setImageResource(R.drawable.cross); break; case 1: health_img.setImageResource(R.drawable.cross1); break; case 2: health_img.setImageResource(R.drawable.cross2); break; case 3: health_img.setImageResource(R.drawable.cross3); break; }