Domanda

Sto cercando di utilizzare ListActivity e un SimpleCursorAdapter alle caselle di controllo basati su una query da un database. Il cursore è una lista di domande e risposte. Se l'utente ha già risposto a una domanda la casella di controllo deve essere controllato, ma non vengono controllati. Il codice è simile al seguente:

protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
            setContentView(R.layout.questions);


    Cursor c;
    testDbAdapter db = new testDbAdapter(this);
    c = db.getQuestions(Long.toString(mRowId), Integer.toString(mSection));
            startManagingCursor(c);

            String[] from = new String[]{testDbAdapter.QUESTIONS_Q, testDbAdapter.QUESTIONS_A};
            int[] to = new int[]{R.id.question, R.id.answer};

            SimpleCursorAdapter results = new SimpleCursorAdapter(this, android.R.layout.simple_list_item_multiple_choice, c, from, to);


            setListAdapter(results);
  }
È stato utile?

Soluzione

È possibile estendere l'adattatore e l'override del metodo Bindview, o chiamare il setViewBinder. Un paio di soluzioni dettagliate a questo trovano risposta in una domanda simile qui:

Android: Legatura dati da un database per un CheckBox in un ListView?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top