拉动刷新时保留滚动位置

时间:2013-03-15 07:06:17

标签: android android-listview pull-to-refresh

我在我的Android应用中使用PullToRefresh。到目前为止工作正常。

问题我面临的问题是,当我从TOP新行中下载新版x行时,推出现有行并从0位置开始,这对用户来说很烦人。我想要的是,在下载新的行集之后,列表应保留在那里并让用户向下搜索以查看新的行集。

任何想法我怎么能实现这个目标?

1 个答案:

答案 0 :(得分:11)

这是我使用的

//Get old position before updating adapter
final int old_pos = mListView.getRefreshableView().getFirstVisiblePosition()+1;
//Set Adapter
mListView.setAdapter(mListAdapter);

//Set the list to old postion
//mListView.getRefreshableView().setSelection(old_pos);
mListAdapter.notifyDataSetChanged();
mListView.onRefreshComplete();

mListView.post(new Runnable() {

        @Override
        public void run() {
            // TODO Auto-generated method stub
            mListView.getRefreshableView().setSelection(old_pos);
        }
    });

还检查一下: Maintain/Save/Restore scroll position when returning to a ListView