SaluteWarmTinct 2015-06-08 06:25 采纳率: 100%
浏览 2387
已采纳

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

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

  • 写回答

6条回答 默认 最新

  • 胖虎 领域专家: 操作系统技术领域 2015-06-09 10:07
    关注

    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()来刷新

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?