ListActivity con checkbox in Android
-
22-09-2019 - |
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);
}
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