gpt4 book ai didi

android - 使用 ViewBinder 在数据库中显示图标

转载 作者:行者123 更新时间:2023-11-29 16:15:01 26 4
gpt4 key购买 nike

我已经在 android 中使用 SQlite 成功创建了一个表。数据库中有一列性别(男/女)。我想做的是检查性别类型并根据类型显示男/女图标。我使用了 setViewBinder() 来传递列索引(我不知道到底是哪一列),但我相信我们可以用它来检查性别列。有更好的方法吗?

        ListView lv=(ListView)findViewById(R.id.mylist);


dbh = new DatabaseHelper(this);

c = dbh.getReadableDatabase().rawQuery("SELECT _id, " +
DatabaseHelper.NAME +
", " + DatabaseHelper.LASTNAME +
", " + DatabaseHelper.ans2 + ", " + DatabaseHelper.SEX +
" FROM " +
DatabaseHelper.TABLE_NAME, null); // initializing


String[] dataFrom ={DatabaseHelper.NAME, DatabaseHelper.LASTNAME, DatabaseHelper.ans2, DatabaseHelper.SEX};
int[] dataTo = {R.id.name, R.id.value1, R.id.value2, R.id.icon};

SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
R.layout.row, c, dataFrom, dataTo);
adapter.setViewBinder(new ViewBinder(){


public boolean setViewValue(View view, Cursor cursor,
int columnIndex) {
if (view.getId() == R.id.icon) {
int sex = cursor.getInt(columnIndex);
String s = String.valueOf(sex);
if (s == "male") {
((ImageView) view).setImageResource(R.drawable.male);
} else if (s == "female"){
((ImageView) view).setImageResource(R.drawable.female);
}

return true;
} else {
return false;
}

}

});
lv.setAdapter(adapter);

最佳答案

bindView 方法允许您轻松设置/检查数据,因为您收到:

  • 你的光标定位到实际位置
  • 您可以放置​​数据的 View

关于android - 使用 ViewBinder 在数据库中显示图标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10167260/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com