diff options
| author | Marco Jacob <mjacob@union06.de> | 2014-10-22 16:49:31 +0200 |
|---|---|---|
| committer | Marco Jacob <mjacob@union06.de> | 2014-10-22 16:49:31 +0200 |
| commit | e4cbd50359f977c063ca8c2f15dd2194ad6e2d50 (patch) | |
| tree | a6aa5740bf711d93a806a6aa963676f5bfeec3d0 /main/src | |
| parent | 0358006f8c661acc3688ce5289f8c60846c1cac8 (diff) | |
| parent | 4e110b91efddf9d601a2fb2c40df2502f186bd21 (diff) | |
| download | cgeo-e4cbd50359f977c063ca8c2f15dd2194ad6e2d50.zip cgeo-e4cbd50359f977c063ca8c2f15dd2194ad6e2d50.tar.gz cgeo-e4cbd50359f977c063ca8c2f15dd2194ad6e2d50.tar.bz2 | |
Merge pull request #4421 from marco-dev/keepListPosition
fixes #4384 - keep last visible list position
Diffstat (limited to 'main/src')
| -rw-r--r-- | main/src/cgeo/geocaching/CacheListActivity.java | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/main/src/cgeo/geocaching/CacheListActivity.java b/main/src/cgeo/geocaching/CacheListActivity.java index 956b9da..3abaf37 100644 --- a/main/src/cgeo/geocaching/CacheListActivity.java +++ b/main/src/cgeo/geocaching/CacheListActivity.java @@ -778,7 +778,7 @@ public class CacheListActivity extends AbstractListActivity implements FilteredA deletion.add(cache); } } - new DropDetailsTask().execute(deletion.toArray(new Geocache[deletion.size()])); + new DropDetailsTask(0).execute(deletion.toArray(new Geocache[deletion.size()])); } private void clearOfflineLogs() { @@ -1175,7 +1175,8 @@ public class CacheListActivity extends AbstractListActivity implements FilteredA @Override public void onClick(final DialogInterface dialog, final int id) { final List<Geocache> selected = adapter.getCheckedOrAllCaches(); - new DropDetailsTask().execute(selected.toArray(new Geocache[selected.size()])); + final int lastListPosition = CacheListActivity.this.getListView().getFirstVisiblePosition(); + new DropDetailsTask(lastListPosition).execute(selected.toArray(new Geocache[selected.size()])); dialog.cancel(); } }); @@ -1294,9 +1295,11 @@ public class CacheListActivity extends AbstractListActivity implements FilteredA } private class DropDetailsTask extends AsyncTaskWithProgress<Geocache, Void> { + private final int lastListPosition; - public DropDetailsTask() { + public DropDetailsTask(final int lastListPosition) { super(CacheListActivity.this, null, res.getString(R.string.caches_remove_progress), true); + this.lastListPosition = lastListPosition; } @Override @@ -1310,6 +1313,7 @@ public class CacheListActivity extends AbstractListActivity implements FilteredA adapter.setSelectMode(false); refreshCurrentList(); replaceCacheListFromSearch(); + CacheListActivity.this.getListView().setSelection(lastListPosition); } } |
