aboutsummaryrefslogtreecommitdiffstats
path: root/main/src
diff options
context:
space:
mode:
authorMarco Jacob <mjacob@union06.de>2014-10-22 16:49:31 +0200
committerMarco Jacob <mjacob@union06.de>2014-10-22 16:49:31 +0200
commite4cbd50359f977c063ca8c2f15dd2194ad6e2d50 (patch)
treea6aa5740bf711d93a806a6aa963676f5bfeec3d0 /main/src
parent0358006f8c661acc3688ce5289f8c60846c1cac8 (diff)
parent4e110b91efddf9d601a2fb2c40df2502f186bd21 (diff)
downloadcgeo-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.java10
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);
}
}