【发布时间】:2016-04-11 09:42:34
【问题描述】:
我有一个包含大量数据的 ListView。但是当我转到 ListView 项目的下一页时,单击并返回 ListView。 我希望将列表滚动到与之前相同的位置。有人可以帮助实现这一目标吗?
我试过这段代码。列表滚动到同一点但立即来到第一个位置。
private void populateList() {
descArray.clear();
List<All_Post> allDesc = dbhelper.getAllDescriptions();
for (All_Post all_Post : allDesc)
{
descArray.add(all_Post);
}
if (adapter == null)
{
adapter = new AllPostAdapter(this, R.layout.allpostlist, descArray);
listView.setAdapter(adapter);
}
else if (adapter != null) {
adapter.notifyDataSetChanged();
adapter = new AllPostAdapter(this, R.layout.allpostlist, descArray);
listView.setAdapter(adapter);
//int firstPosition = listView.getFirstVisiblePosition();
//listView.setSelection(firstPosition);
int index = listView.getFirstVisiblePosition();
View v = listView.getChildAt(0);
int top = (v == null) ? 0 : (v.getTop() - listView.getPaddingTop());
listView.setSelectionFromTop(index, top);
}
}
【问题讨论】:
标签: android android-layout listview android-studio scrollview