2
私はsqliteデータからarraylistを持っています。そして私はスピナーのアレイアダプターでこのアーリーリストを設定しています。ここでarraylistで配列アダプターからスピナー選択を設定する方法
が、私はそれを行う方法は次のとおりです。
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;
}
その後、私の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;
}
}
私のスピナー上:
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);
私はこれを設定しようとしたが、いないようです仕事には、
のget(int型)ArrayListの中で任意の提案が理解されるであろう 位置
に(java.lang.Stringで)に適用することはできません。
この 'attname'とはなんですか?また、アダプタを設定してから 'setSelection()'を呼び出します。 – Sanoop
'attname'はあらかじめ選択した名前として設定したい文字列です。また 'setSelection()'の前にアダプタを設定していますか? –
申し訳ありませんが私の悪い..私はコメントコードを見ていた.. – Sanoop