У меня есть представление списка, в котором отображаются такие данные, как:
2010 Сингапур
2009 Индия
2011 Швеция
2010 Германия
Теперь, когда я нажимаю кнопку меню, у меня есть два элемента, которые позволяют мне сортировать этот список по году или по стране. Сортировка работает нормально.
Что я хочу сделать сейчас, так это то, что когда я щелкаю по любому из двух пунктов, он должен вместе с соответствующей сортировкой списка теперь также сохранять способ сортировки в настройках. Поэтому в следующий раз, когда я открою приложение, оно должно быть отсортировано в точности так, как оно хранится в настройках. Какой подход я должен следовать здесь. Я имею в виду, как я могу сохранить это значение, как я сортировал в прошлый раз в моих предпочтениях. Я попытался изучить некоторые учебные пособия, но не понял идею полностью
На самом деле я просто хочу сохранить последний порядок сортировки в настройках. В следующий раз, когда пользователь запустит приложение, список стран должен быть отсортирован таким же образом, как и в прошлый раз, когда пользователь закрыл приложение.
@Override
public boolean onCreateOptionsMenu(Menu menu) {
menu.add(Menu.NONE, SORT_BY_YEAR, Menu.NONE, "Sort by Year")
.setAlphabeticShortcut('y');
menu.add(Menu.NONE, SORT_BY_COUNTRY, Menu.NONE, "Sort by Country")
.setAlphabeticShortcut('c');
return(super.onCreateOptionsMenu(menu));
}
/* (non-Javadoc)
* @see android.app.Activity#onOptionsItemSelected(android.view.MenuItem)
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
String[] from = new String[] { "year", "country" };
int[] to = new int[] { R.id.year, R.id.country };
switch (item.getItemId()) {
case SORT_BY_YEAR:
Cursor cYear = getContentResolver().query(CONTENT_URI, null, null, null, "year");
SimpleCursorAdapter scaYear = new SimpleCursorAdapter(this, R.layout.country_row,cYear, from, to);
setListAdapter(scaYear);
sortOrder = "year";
return(true);
case SORT_BY_COUNTRY:
Cursor cCountry = getContentResolver().query(CONTENT_URI, null, null, null, "country");
SimpleCursorAdapter scaCountry = new SimpleCursorAdapter(this, R.layout.country_row,cCountry, from, to);
setListAdapter(scaCountry);
sortOrder = "country";
return(true);
}
return(super.onOptionsItemSelected(item));
}