【问题标题】:Android database setting ImageViewAndroid数据库设置ImageView
【发布时间】:2010-10-03 07:09:15
【问题描述】:

我有一个包含 5 列的数据库,其中 1 列是 TEXT,其名称为 /res/drawable 文件夹。

    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 中提取的数据设置背景图像?

【问题讨论】:

    标签: android database imageview setting


    【解决方案1】:

    simpleCursorAdapter 需要字符串,因此当您设置数据库时,您的 StringArray "from" 必须从列 achHelper.ROW_TROPHY 获取 String 对象,它必须如下所示:

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

    因此,当您进入数据库时​​,您必须将 TropyImage 的 ID(整数)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 似乎是正确的。您只需要在 ROW_TROPY 列中拥有正确的 DataType 和 ID。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-10-05
      • 2015-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-04
      • 1970-01-01
      相关资源
      最近更新 更多