android 下拉加载数据(聊天模块)

guolucky2003 2015-04-16 04:04:52
像QQ的聊天窗口,下拉时加载数据,滚动条自动定位,但为什么我的加载后会跳到顶部?
滚动到顶部时触发代码:

//加载提示
mListView.addHeaderView(LoadingView, null, false);
LoadingView.setVisibility(View.GONE);
mListView.setOnScrollListener(mScrollFirstItem);

private OnScrollListener mScrollFirstItem = new OnScrollListener(){
@Override
public void onScrollStateChanged(AbsListView view, int scrollState) {

switch (scrollState) {
//当不滚动时
case OnScrollListener.SCROLL_STATE_IDLE:
//判断滚动到顶部
if(mListView.getFirstVisiblePosition() == 0){
LoadingView.setVisibility(View.VISIBLE);
//滚到顶部加载数据
TopLoadData();
}
//记录滚动位置
scrolledX = mListView.getScrollX();
scrolledY = mListView.getScrollY();
break;
}
}
@Override
public void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount) {
}
};



private void TopLoadData() {
ArrayList<MyData> tmpList = gson.fromJson(strJson, new TypeToken<ArrayList<MyData>(){}.getType());
mObjList.addAll(0, tmpList);
mMessageDetailAdapter.notifyDataSetChanged();
//mListView.scrollTo(scrolledX, scrolledY);
LoadingView.setVisibility(View.GONE);
}


虽然
mListView.setSelection(tmpList.size() - 1);
,可以跳到指定位置,但体验很差,scrollTo方法也没有,请问怎样像定位滚动条呢?

...全文
359 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
三日神 2016-08-06
  • 打赏
  • 举报
回复
楼主解决了吗?
guolucky2003 2015-04-22
  • 打赏
  • 举报
回复
有人遇到过这样的问题吗?自己顶一下!
guolucky2003 2015-04-17
  • 打赏
  • 举报
回复
引用 2 楼 heaimnmn 的回复:
有木有兴趣自定义ontouch去复写下scrollTo
可以上代码吗,我是菜鸟不明?
guolucky2003 2015-04-17
  • 打赏
  • 举报
回复
引用 1 楼 su_internet 的回复:
mMessageDetailAdapter刷新问题、你检查下肯定是新加载的数据又setadapter了、而不只是刷新数据了
整个代码只有一行:
mListView.setAdapter(mMessageDetailAdapter);
哎,真难 2015-04-17
  • 打赏
  • 举报
回复
有木有兴趣自定义ontouch去复写下scrollTo
贫道望青楼 2015-04-17
  • 打赏
  • 举报
回复
mMessageDetailAdapter刷新问题、你检查下肯定是新加载的数据又setadapter了、而不只是刷新数据了

80,351

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧