开发者社区 问答 正文

Android如何实现上拉加载的问题

如题,我有在网上看到去监听 滑动的距离到达现在加载数据的底部时候 触发一个事件,
在这个事件里再加载一部分数据,但是这时候listview就会从头显示了,也就是比如一次
加载5个,触发一次又5个,这时候就从0开始显示了。这个该怎么解决呢?或者有没有更
合理的解决的方法,关于实现上拉加载的。

展开
收起
爵霸 2016-06-16 10:01:06 2255 分享 版权
1 条回答
写回答
取消 提交回答
  • case MotionEvent.ACTION_UP:
     //当发生up事件时,如果达成条件可触发事件,即触发对应事件
     if(isFirstRow){ 
                     lp.topMargin=0;  
                     //调用获取刷新数据的接口方法getNewest();  
                 }else if(isLastRow){  
    
                     //调用获取更多数据的接口方法;  
    
                     page_index=page_index+1;
    
    
    initGoodsList(page_index,page_size,count);
                 }  
                 lovelv.setLayoutParams(lp);   
                 break;
            }
            return false;
        }

    你在要触发重新加载的地方不应该去用initGoodsList,
    因为这样重新调用了lovelv.setAdapter(lovelistSimpleAdapter);
    listview显示的位置就会回到0的位置。
    而取而代之是,你加载完数据之后,lovelistItem改变了,
    然后再去调用lovelistSimpleAdapter.notifydatachanged()来刷新

    2019-07-17 19:40:21
    赞同 展开评论
问答分类:
问答地址: