我有一个微调器,它使用下面的代码填充,我想从微调器中获取用户选择的项目。最好的方法是什么?
List<Map<String, String>> tablelist = new ArrayList<>();
SQLiteDatabase db = openOrCreateDatabase("database", MODE_PRIVATE, null);
String query = "select * from table";
Cursor ps = db.rawQuery(query, null);
while (ps.moveToNext()){
Map<String, String> datanum = new HashMap<>();
datanum.put("Id", ps.getString(ps.getColumnIndex("Id")));
datanum.put("Some", ps.getString(ps.getColumnIndex("Some")));
tablelist.add(datanum);
}
db.close();
ps.close();
SimpleAdapter spinnerAdapter = new SimpleAdapter(this, tablelist, R.layout.row_spinner, new String[] {"Id", "Some"}, new int[] {android.R.id.text1, android.R.id.text1});
spinnerAdapter.notifyDataSetChanged();
spinnerAdapter.setDropDownViewResource(R.layout.row_spinner_list);
spinner.setAdapter(spinnerAdapter);
我将回答这个问题:“获取 setSelection() 方法所需的项目位置的最佳方法” 我希望这是您所要求的。
我用 ArrayAdapter 更改 SimpleAdapter。
我更喜欢为您的 DTB 请求为每个结果创建一个对象,并将该对象映射到微调器中。因此,您可以轻松访问每个结果。
像这样 :