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;
}
http://stackoverflow.com/questions/5927109/sort-objects-in-arraylist-by-date "YYYY-MM-DD" で –
ストア日付あなたが 'ORDER BY'をクエリに使うことができるようにするか、または日付を' INTEGER'として保存し、必要に応じて変換してください。 [Sqliteの日付と時刻のデータ型](https://www.sqlite.org/datatype3.html#date_and_time_datatype) –
私はこれを行ったので、データベースに "yyyy-MM-dd"という日付を格納します。しかし、ORDER BYを正確に適用する方法はわかりません。あなたは私に例を教えていただけますか? – obszoenling