2016-12-08 4 views
0

私は3つのString属性を持つ私のDB内にserveralオブジェクトを持っています。 1つは日付情報を示しています。 1.4.2016,20.10.2017。これらのオブジェクトをListViewにリストするが、それらのオブジェクトを日付順に並べ替える前に。ソートListView by Stringアイテム

// 
//Show all Data on ListView 
// 
private void displayListView() { 


    Cursor cursor = datasource.fetchAllData(); 

    // The desired columns to be bound 
    String[] columns = { 
      DatabaseHelper.COLUMN_TITLE, 
      DatabaseHelper.COLUMN_DESCRIPTION, 
      DatabaseHelper.COLUMN_DEADLINE, 
    }; 

    // the XML defined views which the data will be bound to 
    int[] to = new int[] { 
      R.id.processobject_title, 
      R.id.processobject_description, 
      R.id.processobject_deadline, 
    }; 

    // create the adapter using the cursor pointing to the desired data 
    //as well as the layout information 
    dataAdapter = new SimpleCursorAdapter(
      this, R.layout.listview_viewlayout, 
      cursor, 
      columns, 
      to, 
      0); 

    ListView listView = (ListView) findViewById(R.id.listview); 
    ArrayList <ProcessObject> arrayList = new ArrayList<>(); 
    // Assign adapter to ListView 

    listView.setAdapter(dataAdapter); 
    activateAddButton(); 
    OnItemClickListener(); 

}; 

カーソルをソートするか、[]にソートする2つの方法があります。しかし、私はどのように知りません。

public Cursor fetchAllData(){ 

    Cursor cursor = database.query(DatabaseHelper.TABLE_DATABASE, columns, null, null, null, null, null); 
    if (cursor != null) { 
     cursor.moveToFirst(); 
    } 
    return cursor; 
} 
+0

http://stackoverflow.com/questions/5927109/sort-objects-in-arraylist-by-date "YYYY-MM-DD" で –

+0

ストア日付あなたが 'ORDER BY'をクエリに使うことができるようにするか、または日付を' INTEGER'として保存し、必要に応じて変換してください。 [Sqliteの日付と時刻のデータ型](https://www.sqlite.org/datatype3.html#date_and_time_datatype) –

+0

私はこれを行ったので、データベースに "yyyy-MM-dd"という日付を格納します。しかし、ORDER BYを正確に適用する方法はわかりません。あなたは私に例を教えていただけますか? – obszoenling

答えて

0

はそれを解決:

String orderBy = DatabaseHelper.COLUMN_DEADLINE + " ASC";; 
    Cursor cursor = database.query(DatabaseHelper.TABLE_DATABASE, columns, null, null, null, null, orderBy); 
関連する問題