listview 列表刷新后不回到顶部,而是停留在当前位置,android怎么实现?
android,lisiview比如列表中有三十项,我在第十项点击刷新,刷新后不让列表回到顶部,而是停留在当前位置,怎么实现呢,求具体代码?publicvoidRefre...
android,lisiview
比如列表中有三十项,我在第十项点击刷新,刷新后不让列表回到顶部,而是停留在当前位置,怎么实现呢,求具体代码?
public void RefreshView() {
mDialog.setMessage("正在刷新服务信息.....");
mDialog.setIndeterminate(false);
mDialog.setCancelable(false);
mDialog.show();
mExecutor.execute(new Runnable() {
@Override
public void run() {
Message msg = Message.obtain();
msg.what = MSG_UPDATE_UI;
ServiceFragment.this.mHandler.sendMessage(msg);
}
});
}列表中点击一个按钮实现这个刷新功能,但刷新回到了顶部,我刚把你的代码加进去还是没法实现停留在当前位置 展开
比如列表中有三十项,我在第十项点击刷新,刷新后不让列表回到顶部,而是停留在当前位置,怎么实现呢,求具体代码?
public void RefreshView() {
mDialog.setMessage("正在刷新服务信息.....");
mDialog.setIndeterminate(false);
mDialog.setCancelable(false);
mDialog.show();
mExecutor.execute(new Runnable() {
@Override
public void run() {
Message msg = Message.obtain();
msg.what = MSG_UPDATE_UI;
ServiceFragment.this.mHandler.sendMessage(msg);
}
});
}列表中点击一个按钮实现这个刷新功能,但刷新回到了顶部,我刚把你的代码加进去还是没法实现停留在当前位置 展开
展开全部
设置里面打开发现,置顶就可以了。
1、获取更多的最新的数据,其实还是一种获取更多的操作方式。但是这里主要考虑到用户的操作习惯了。一般,用户的操作习惯分这么两种:
第一种,获取下一页,第二种,类似于网页的F5刷新,停留在当前页面的刷新。
2、ListView刷新其实类似于网页。如果没用下拉刷新,那么用户得将ListView拖拉到最后(当然也可以是在界面顶端添加一个刷新按钮控件,但是,对于手机这样界面不是很大,这样的设计其实是不应太多的。),如果数据太多,那么用户要下拉到很下面才能执行刷新。而对于大多数用户习惯,获取更多的最新资讯后,希望他添加的时候是在界面最上面的显眼处的。也就是,用户还是喜欢的是懒操作,在同一个可显示界面完成所有操作。那么,下拉刷新是一个不错的设计。
展开全部
保存刷新前listview滚动的位置就ok了
// 设置ListView到记录的位置
mListView.setSelection(mPosition);
mListView.setOnScrollListener(new OnScrollListener() {
// 滚动状态改变时调用
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// 不滚动时保存当前滚动到的位置
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
mPosition = mListView.getFirstVisiblePosition();
}
}
// 滚动时调用
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
}
});
// 设置ListView到记录的位置
mListView.setSelection(mPosition);
mListView.setOnScrollListener(new OnScrollListener() {
// 滚动状态改变时调用
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {
// 不滚动时保存当前滚动到的位置
if (scrollState == OnScrollListener.SCROLL_STATE_IDLE) {
mPosition = mListView.getFirstVisiblePosition();
}
}
// 滚动时调用
@Override
public void onScroll(AbsListView view, int firstVisibleItem,
int visibleItemCount, int totalItemCount) {
}
});
追问
你看一下我的代码,refresh(),我把你代码加进去以后还是没法实现停留在当前位置
追答
你可以等我一会么,这一块我可以帮你测试一下,已经有一段时间不用了
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询