simplecursoradapter обрабатывает поле как целочисленное значение ресурса

#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. Не забудьте принять ответы, если они правильные или полезные.