我正在使用以下代码重新加载ListView
。我应该如何修改它以保持ListView
的位置?
protected void refreshListView() {
datasource = new DataSource(this);
try {
datasource.ScanVirtualSystems();
} catch (Exception e) {
Log.w("Exception", "exception in ScanVirtualSystems() method");
}
MatrixCursor cursor;
cursor = datasource.getnameList();
startManagingCursor(cursor);
String[] from = { "name", "desc", "status", "path", "folder",
BaseColumns._ID };
int[] to = { R.id.name, R.id.desc, R.id.status, R.id.path };
final CustomSCAdapter adapter = new CustomSCAdapter(
Mactivity.this, R.layout.row, cursor, from, to);
adapter.notifyDataSetChanged();
setListAdapter(adapter);
}
答案 0 :(得分:1)
protected void refreshListView() {
ListView lv = getListView();
int position = lv.getFirstVisiblePosition();
datasource = new DataSource(this);
try {
datasource.ScanVirtualSystems();
} catch (Exception e) {
Log.w("Exception", "exception in ScanVirtualSystems() method");
}
MatrixCursor cursor;
cursor = datasource.getnameList();
startManagingCursor(cursor);
String[] from = { "name", "desc", "status", "path", "folder",
BaseColumns._ID };
int[] to = { R.id.name, R.id.desc, R.id.status, R.id.path };
final CustomSCAdapter adapter = new CustomSCAdapter(
Mactivity.this, R.layout.row, cursor, from, to);
adapter.notifyDataSetChanged();
setListAdapter(adapter);
lv.smoothScrollToPosition(position);
}