嗨我对adnroid dev相当新,我有一个需要有一个dropdownlist / spinner的函数。微调器的数据应该基于我的sqlite数据库,用户可以看到的值应该是文本,但我应该能得到的数据是该文本的id。 在我的DBHelper类中,我有这个代码来获取表中的所有值。我的桌子是区域。
更新
//view areas
public Set<String> getAllData() {
Set<String> set = new HashSet<String>();
String selectQuery = "select * from area ";
SQLiteDatabase db = this.getReadableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);
if (cursor.moveToFirst()) {
do {
set.add(cursor.getString(1));
} while (cursor.moveToNext());
}
cursor.close();
db.close();
return set;
}
在我的addLocation类中这里是我如何使用微调器。我没有太多因为我已经卡住了
更新
这是我更新的onCreate
代码,但我仍无法在我的微调器中看到我的数据库中的数据
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.addplace);
Spinner spn = (Spinner)findViewById(R.id.areas);
ArrayList<String> my_array = new ArrayList<String>();
Set<String> set = db.getAllData();
List<String> list = new ArrayList<String>(set);
Collections.sort(list, new Comparator<String>() {
@Override
public int compare(String lhs, String rhs) {
return lhs.compareTo(rhs);
}
});
ArrayAdapter adapter = new ArrayAdapter<String>(addLocation.this,android.R.layout.simple_spinner_dropdown_item);
spn.setAdapter(adapter);
spn.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
@Override
public void onItemSelected(AdapterView<?> parent, View v, int position,long id) {
String name = parent.getItemAtPosition(position).toString();
}
@Override
public void onNothingSelected(AdapterView<?> arg0) {
}
});
}
我接下来要做什么的任何想法?或指向我正确的diraection?非常感谢你的帮助!