mirror of
https://github.com/MatomoCamp/matomocamp-companion-android.git
synced 2024-09-19 16:13:46 +02:00
Ensure the bookmarks ActionMode is closed when the fragment is destroyed.
This commit is contained in:
parent
ca71cc6bd9
commit
d6f1de2aae
2 changed files with 20 additions and 7 deletions
|
@ -64,6 +64,14 @@ public class BookmarksListFragment extends SmoothListFragment implements LoaderC
|
|||
getLoaderManager().initLoader(BOOKMARKS_LOADER_ID, null, this);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
|
||||
BookmarksMultiChoiceModeListener.unregister(getListView());
|
||||
}
|
||||
super.onDestroyView();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
|
||||
inflater.inflate(R.menu.bookmarks, menu);
|
||||
|
|
|
@ -8,14 +8,14 @@ import android.view.Menu;
|
|||
import android.view.MenuItem;
|
||||
import android.widget.AbsListView;
|
||||
import android.widget.AbsListView.MultiChoiceModeListener;
|
||||
|
||||
import be.digitalia.fosdem.R;
|
||||
import be.digitalia.fosdem.db.DatabaseManager;
|
||||
|
||||
/**
|
||||
* Context menu for the bookmarks list items, available for API 11+ only.
|
||||
*
|
||||
*
|
||||
* @author Christophe Beyls
|
||||
*
|
||||
*/
|
||||
@TargetApi(Build.VERSION_CODES.HONEYCOMB)
|
||||
public class BookmarksMultiChoiceModeListener implements MultiChoiceModeListener {
|
||||
|
@ -28,6 +28,11 @@ public class BookmarksMultiChoiceModeListener implements MultiChoiceModeListener
|
|||
listView.setMultiChoiceModeListener(listener);
|
||||
}
|
||||
|
||||
public static void unregister(AbsListView listView) {
|
||||
// Will close the ActionMode if open
|
||||
listView.setChoiceMode(AbsListView.CHOICE_MODE_NONE);
|
||||
}
|
||||
|
||||
private BookmarksMultiChoiceModeListener(AbsListView listView) {
|
||||
this.listView = listView;
|
||||
}
|
||||
|
@ -52,11 +57,11 @@ public class BookmarksMultiChoiceModeListener implements MultiChoiceModeListener
|
|||
@Override
|
||||
public boolean onActionItemClicked(ActionMode mode, MenuItem item) {
|
||||
switch (item.getItemId()) {
|
||||
case R.id.delete:
|
||||
// Remove multiple bookmarks at once
|
||||
new RemoveBookmarksAsyncTask().execute(listView.getCheckedItemIds());
|
||||
mode.finish();
|
||||
return true;
|
||||
case R.id.delete:
|
||||
// Remove multiple bookmarks at once
|
||||
new RemoveBookmarksAsyncTask().execute(listView.getCheckedItemIds());
|
||||
mode.finish();
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue