Об изменении источника изображений viewview на основе строкового поля sqlite - PullRequest
0 голосов
/ 29 июля 2010

Я видел этот вопрос, заданный ранее, но кажется, что ответ может быть устаревшим.

Я извлекаю числовое значение из счетчика и сохраняю его в базе данных sqlite в виде строки. У меня есть изображение, помещенное в XML-файл строки. Я уверен, что создание какого-то адаптера вовлечено.

Как мне изменить источник изображения в зависимости от значения строки из моей базы данных?

вот что у меня сейчас. Src imageview является статическим, и идентификатор находится в макете 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 ИЛИ ИЛИ ИЛИ ИЛИ ИЛИ 3). Я хочу изменить источник изображений в каждом случае.

1 Ответ

0 голосов
/ 04 сентября 2010

Я закончил тем, что создал свой собственный адаптер курсора: вот часть, которая получает значение из базы данных и использует оператор 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;
        }
...