从android中的sqlite基于spinner填充和获取值

时间:2016-07-18 01:35:53

标签: android sqlite android-sqlite

嗨我对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?非常感谢你的帮助!

0 个答案:

没有答案