private void setSortOrder(MenuItem mi, BlobDescriptorList.SortOrder order) { Drawable icon; int textRes; if (order == BlobDescriptorList.SortOrder.TIME) { icon = icClock; textRes = R.string.action_sort_by_time; } else { icon = icList; textRes = R.string.action_sort_by_title; } mi.setIcon(icon); mi.setTitle(textRes); SharedPreferences p = this.prefs(); SharedPreferences.Editor editor = p.edit(); editor.putString(PREF_SORT_ORDER, order.name()); editor.commit(); }
@Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); BlobDescriptorList descriptorList = getDescriptorList(); SharedPreferences p = this.prefs(); String sortOrderStr = p.getString(PREF_SORT_ORDER, BlobDescriptorList.SortOrder.TIME.name()); BlobDescriptorList.SortOrder sortOrder = BlobDescriptorList.SortOrder.valueOf(sortOrderStr); boolean sortDir = p.getBoolean(PREF_SORT_DIRECTION, false); descriptorList.setSort(sortOrder, sortDir); listAdapter = new BlobDescriptorListAdapter(descriptorList); final FragmentActivity activity = getActivity(); icFilter = FontIconDrawable.inflate(activity, R.xml.ic_actionbar_filter); icClock = FontIconDrawable.inflate(activity, R.xml.ic_actionbar_clock); icList = FontIconDrawable.inflate(activity, R.xml.ic_actionbar_list); icArrowUp = FontIconDrawable.inflate(activity, R.xml.ic_actionbar_sort_asc); icArrowDown = FontIconDrawable.inflate(activity, R.xml.ic_actionbar_sort_desc); final ListView listView = getListView(); listView.setOnItemClickListener( new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Intent intent = new Intent(activity, ArticleCollectionActivity.class); intent.setAction(getItemClickAction()); intent.putExtra("position", position); startActivity(intent); } }); setListAdapter(listAdapter); }