0

データベースからスピナーを埋めようとしていますが、データを取得したときに、クエリでこれを示しても、データを年順にソートしたくありません。

これは私がデータを取得する方法です

public Set<String> getAllData(int getData,String[] args, String qry) {
    Set<String> set = new HashSet<String>();

    String selectQuery = qry ;

    SQLiteDatabase db = this.getReadableDatabase();
    Cursor cursor = db.rawQuery(selectQuery , args);

    if (cursor.moveToFirst()) {
        do {
            set.add(cursor.getString(getData));
        } while (cursor.moveToNext());
    }

    cursor.close();
    db.close();

    return set;
}

これがクエリです

        String myQry = "SELECT * FROM Car ORDER BY year";

スピナーのロード

private void loadSpinner(Spinner mySpinner, int getData, String[] args, String qry) {

    // here i used Set Because Set doesn't allow duplicates.
    Set<String> set = db.getAllData(getData, args, qry);
    List<String> list = new ArrayList<String>(set);

    adapter = new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, list);
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);

    mySpinner.setAdapter(adapter);
    mySpinner.setWillNotDraw(false);
}

ありがとう

4

3 に答える 3

0

挿入の順序を保証しない HashSet を使用しています。リストまたはソート済みセットを使用...

于 2013-11-12T23:22:26.680 に答える