#android #string #integer #simplecursoradapter
#Android #строка #целое #simplecursoradapter
Вопрос:
У меня есть некоторые данные в таблице в моей базе данных. В столбце у меня есть целочисленные значения, которые ссылаются на строковый ресурс.
Я хочу, чтобы при загрузке значений с помощью моего адаптера в моем ListView отображалась строка, связанная со значением, но не само целочисленное значение.
String[] nfrom = {ProfileManager.EVENT_NAME,ProfileManager.NAME,ProfileManager.PRIORITY};
int[] nto = {R.id.eventType,R.id.profileToSwitch,R.id.priority};
triggersCursor = profileManager.getAllModTriggerCursors();
startManagingCursor(triggersCursor);
triggersAdapter = new SimpleCursorAdapter(this,R.layout.trigger_item_layout,triggersCursor,nfrom,nto);
lst_triggers.setAdapter(triggersAdapter);
В ListView отображается ‘2131034132’, а не строка.
Надеюсь, мое объяснение понятно.
Заранее спасибо!
Ответ №1:
Используйте SimpleCursorAdapter.ViewBinder, чтобы настроить процесс привязки для этого поля. Например:
setViewValue(...){
boolean isCustomBinding = false;
if(view.getId() == R.id.my_id){
TextView tv = (TextView) view;
tv.setText(cursor.getInt(columnIndex));
isCustomBinding = true;
}
return isCustomBinding; // returning false will allow the automatic binder to work.
}
Комментарии:
1. Не забудьте принять ответы, если они правильные или полезные.