アイテムの名前とアイテムの日付でソートされた順序でデータベースをクエリする必要があります。
たとえば、最初にすべてのアイテムの名前をアルファベット順に取得したいのですが、問題はありませんが、同じ名前のアイテムが複数存在する可能性があるため、このようにデータベースに挿入した日付で並べ替えます。
A 1/1/12、A 1/2/12、A 1/3/12、B 1/1/12、B 1/2/12、B1/3/12など...
これどうやってするの?
私が行ったすべての並べ替えは、このような1つのフィールドによるものでした
CalendarEvents.EVENT_START + " COLLATE LOCALIZED ASC"
これは私がソートしたいデータベースです
db.execSQL("CREATE TABLE " + EMGNOTE_TABLE + "(" + EMG_ID + " integer primary key autoincrement, " +
EMG_NOTE_ID + " INTEGER, " + EMG_CDID + " INTEGER, " + EMG_CENTER_POINT + " TEXT, " + EMG_COMPANY_NAME +
" TEXT, " + EMG_NAME + " TEXT, " + EMG_DESC + " TEXT, " + EMG_START_DATE + " TEXT, " + EMG_TTL + " TEXT, "
+ EMG_CENTER_LAT + " TEXT, " + EMG_CENTER_LON + " TEXT, " + EMG_LOCATION_TYPE + " TEXT, " + EMG_UPDATED + " TEXT, " + EMG_READ + " INTEGER);");
フィールドEMG_START_DATE
は、並べ替えたい日付になります
並べ替えは次のようになります
CursorLoader(getActivity(),CalendarEvents.EVENTS_URI,
new String[] {CalendarEvents.EVENT_ID,CalendarEvents.EVENT_READ,CalendarEvents.EVENT_SUBJECT,
CalendarEvents.EVENT_COMPANY_NAME,CalendarEvents.EVENT_START}
,null
,null
,CalendarEvents.EVENT_COMPANY_NAME+" COLLATE LOCALIZED ASC, julianday("+CalendarEvents.EVENT_START + ")" + "COLLATE LOCALIZED DESC");