基于sqlite字符串字段更改imageview src

时间:2010-07-29 01:34:11

标签: android sqlite adapter imageview

我之前看过这个问题,但似乎答案可能已经过时了。

我从微调器中提取数值并将其作为字符串存储在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。

1 个答案:

答案 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;
        }