0

私は以前にこの質問を聞いたことがありますが、答えは時代遅れのようです。

スピナーから数値を取り出して、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 OR 1 OR 2 OR 3)の場合は値があります。いずれの場合もimageviewsrcを変更したいと思います。

4

1 に答える 1

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){
        ケース0:
            health_img.setImageResource(R.drawable.cross);
            壊す;
        ケース1:
            health_img.setImageResource(R.drawable.cross1);
        壊す;
        ケース2:
            health_img.setImageResource(R.drawable.cross2);
            壊す;
        ケース3:
            health_img.setImageResource(R.drawable.cross3);
            壊す;
        }
于 2010-09-03T21:17:00.270 に答える