Skip to content

Instantly share code, notes, and snippets.

@madhu314
Created January 15, 2017 15:30
Show Gist options
  • Save madhu314/50624409a0926a3e032c98a7cb92a854 to your computer and use it in GitHub Desktop.
Save madhu314/50624409a0926a3e032c98a7cb92a854 to your computer and use it in GitHub Desktop.
//somewhere in activity
private void showSortOptionsDialog() {
ArrayAdapter<String> adapter =
new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, new String[] {
"Timestamp", "Category", "Author", "Content"
});
new AlertDialog.Builder(this).setAdapter(adapter, new DialogInterface.OnClickListener() {
@Override public void onClick(DialogInterface dialogInterface, int position) {
ArticleSortOptionsActivity.this.newSortType = position;
}
}).setOnDismissListener(new DialogInterface.OnDismissListener() {
@Override public void onDismiss(DialogInterface dialogInterface) {
if (ArticleSortOptionsActivity.this.newSortType
!= ArticleSortOptionsActivity.this.sortType) {
runOnUiThread(new Runnable() {
@Override public void run() {
ArticleSortOptionsActivity.this.sortType =
ArticleSortOptionsActivity.this.newSortType;
ArticleSortOptionsActivity.this.dataset.changeSortType(
ArticleSortOptionsActivity.this.sortType);
}
});
}
}
}).show();
}
//somewhere in Dataset
public void changeSortType(int sortType) {
this.sortType = sortType;
List<Article> items = new ArrayList<>();
for (int j = 0; j < sortedList.size(); j++) {
items.add(sortedList.get(j));
}
sortedList.clear();
sortedList.addAll(items);
sortedList.endBatchedUpdates();
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment