안드로이드에 SQlite
을 사용하여 테이블을 만들었습니다. 성별에 대한 열 (남 /여)이 데이터베이스에 있습니다. 섹스 유형을 확인하고 유형에 따라 남성/여성 아이콘을 표시하고 싶습니다. setViewBinder()
을 사용하여 열 인덱스 (정확히 어떤 열인지는 알 수 없음)를 전달했지만이 항목을 사용하여 섹스 열을 확인할 수 있다고 생각합니다. 이 작업을 수행하는 더 좋은 방법이 있습니까?ViewBinder를 사용하여 데이터베이스에 아이콘 표시
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);