Eh bien, j'ai un arraylist à partir de mes données sqlite. Et je règle cet arraylist sur mon tableau array de mon spinner.Comment faire pour définir la sélection spinner à partir d'un arrayadapter avec un arraylist
Voilà comment je le fais:
public ArrayList<AttendantModelNames> getAllAttendantNames() {
ArrayList<AttendantModelNames> attendantModelArrayList = new ArrayList<>();
hp = new HashMap();
SQLiteDatabase db = this.getReadableDatabase();
Cursor res = db.rawQuery("SELECT * FROM " + TABLE_ATTENDANTS, null);
res.moveToFirst();
while (!res.isAfterLast()) {
AttendantModelNames l_att = new AttendantModelNames();
l_att.setname(res.getString(res
.getColumnIndex(KEY_NAME)));
attendantModelArrayList.add(l_att);
res.moveToNext();
}
Log.d(TAG, attendantModelArrayList.toString());
res.close();
return attendantModelArrayList;
}
Alors mon AttendantModelNames POJO:
public class AttendantModelNames {
String name;
public String getname() {
return name;
}
public void setname(String name) {
this.name = name;
}
@Override
public String toString() {
return name;
}
}
Puis sur mon spinner:
private void setSpinner() {
spinner = (Spinner) findViewById(com.duka.R.id.spinner_toolbar);
ArrayList<AttendantModelNames> modelArrayList = ah.getAllAttendantNames();
ArrayAdapter<AttendantModelNames> dataAdapter =
new ArrayAdapter<AttendantModelNames>(this, android.R.layout.simple_spinner_item, modelArrayList);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner.setAdapter(dataAdapter);
int selectionPosition= dataAdapter.getPosition(modelArrayList.get(position).getname());
spinner.setSelection(selectionPosition);
I Tried la mise en cela, mais ne semble pas pour travailler, dit:
get (int) dans arraylist ne peut pas être appliquée à (java.lang.String) sur la position
Toutes les suggestions seront appréciées.
Qu'est-ce que ce 'attname'? Et également définir l'adaptateur, puis appeler 'setSelection()' – Sanoop
'attname' est la chaîne que je voudrais définir comme le nom présélectionné. Aussi ne pouvez-vous pas voir que j'ai déjà défini l'adaptateur avant 'setSelection()'? –
Désolé mon mauvais .. Je regardais le code commenté .. – Sanoop