diff options
| author | Bananeweizen <bananeweizen@gmx.de> | 2015-02-08 11:23:15 +0100 |
|---|---|---|
| committer | Bananeweizen <bananeweizen@gmx.de> | 2015-02-08 11:23:15 +0100 |
| commit | 82e721dcd4ade969770b8ec2183f0b44daeeb716 (patch) | |
| tree | a2b74e20afbf2be9677704d069026668baab47f8 /main/src | |
| parent | 592cbf997da3e0964383b964990bfbd39bca0d39 (diff) | |
| download | cgeo-82e721dcd4ade969770b8ec2183f0b44daeeb716.zip cgeo-82e721dcd4ade969770b8ec2183f0b44daeeb716.tar.gz cgeo-82e721dcd4ade969770b8ec2183f0b44daeeb716.tar.bz2 | |
fix #4659: cancel action mode on page switch
Diffstat (limited to 'main/src')
| -rw-r--r-- | main/src/cgeo/geocaching/CacheDetailActivity.java | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/main/src/cgeo/geocaching/CacheDetailActivity.java b/main/src/cgeo/geocaching/CacheDetailActivity.java index 9ebad8b..b48fc58 100644 --- a/main/src/cgeo/geocaching/CacheDetailActivity.java +++ b/main/src/cgeo/geocaching/CacheDetailActivity.java @@ -306,6 +306,11 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc } requireGeodata = getPage(position) == Page.DETAILS; startOrStopGeoDataListener(); + + // cancel contextual actions on page change + if (currentActionMode != null) { + currentActionMode.finish(); + } } }); requireGeodata = pageToOpen == 1; @@ -1288,6 +1293,11 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc }); + /** + * Reflect the (contextual) action mode of the action bar. + */ + protected ActionMode currentActionMode; + protected class DescriptionViewCreator extends AbstractCachingPageViewCreator<ScrollView> { @InjectView(R.id.personalnote) protected TextView personalNoteView; @@ -1788,7 +1798,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc @Override public boolean onLongClick(final View v) { - startSupportActionMode(new ActionMode.Callback() { + currentActionMode = startSupportActionMode(new ActionMode.Callback() { @Override public boolean onPrepareActionMode(final ActionMode actionMode, final Menu menu) { @@ -1837,7 +1847,7 @@ public class CacheDetailActivity extends AbstractViewPagerActivity<CacheDetailAc @Override public void onDestroyActionMode(final ActionMode actionMode) { - // do nothing + currentActionMode = null; } @Override |
