aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMarco Jacob <mjacob@union06.de>2014-10-17 17:38:45 +0200
committerMarco Jacob <mjacob@union06.de>2014-10-17 17:38:45 +0200
commit4e110b91efddf9d601a2fb2c40df2502f186bd21 (patch)
tree036f55cf55aa2dc1b60f4c3fdb8f62ea919e3b2a
parent0904e2a00d54c5e7e4c68aca52009a55537b7048 (diff)
downloadcgeo-4e110b91efddf9d601a2fb2c40df2502f186bd21.zip
cgeo-4e110b91efddf9d601a2fb2c40df2502f186bd21.tar.gz
cgeo-4e110b91efddf9d601a2fb2c40df2502f186bd21.tar.bz2
fixes #4384 - keep last visible list position
-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);
}
}