2

/res/drawableフォルダーであるドローアブルの名前を持つTEXTである1列の5列のデータベースがあります。

    private void fillData() {

    mCursor = db2.getAllAchievements();
    startManagingCursor(mCursor);


    String[] from = new String[]{achHelper.ROW_NAME, achHelper.ROW_DESCRIPTION, achHelper.ROW_POINTS, achHelper.ROW_TROPHY};


    int[] to = new int[]{R.id.achTitle, R.id.achDescription, R.id.achPoints, R.id.trophy};

    SimpleCursorAdapter classes =
            new SimpleCursorAdapter(this, R.layout.ach_row, mCursor, from, to);
    setListAdapter(classes);
}

R.id.trophy は ImageView ですが、achHelper.ROW_TROPHY から取得されたデータに基づいて背景画像を設定するにはどうすればよいですか?

4

1 に答える 1

3

achHelper.ROW_TROPHYsimpleCursorAdapterには文字列が必要であるため、データベースをセットアップするときに、StringArray "from"は列からStringオブジェクトを取得する必要があり、次のようになります。

 private static final String TABLE_CREATE = "CREATE TABLE " here your other colums
                                            + ROW_TROPHY + " TEXT NOT NULL);";
 db.execSQL(TABLE_CREATE);

したがって、データベースにエントリを作成するときは、TropyImage(whitchは整数)R.drawable.yourTropyImageのIDを文字列に変換する必要があります。

ContentValues cv = new ContentValues();
cv.put( your other columns, your other input);
cv.put(ROW_TROPHY, Integer.toString(R.drawable.yourTrophyImage));

return db.insert(DATABASE_TABLE, null, cv);

あなたString[] from, int[] tosimpleCursorAdapterは正しいようです。列に適切なデータ型とIDが含まれている必要がありROW_TROPYます。

于 2012-07-02T12:53:55.823 に答える