攻城小白鼠 2017-06-13 04:43 采纳率: 0%
浏览 937

swiperefresh 嵌套头布局为viewpager的listview时候的问题

在我用swiperefresh嵌套头布局为viewpager的listview时候,刷新的逻辑是清空listview填充布局的集合,viewpager的集合,然后重新请求数据请求完以后布局就乱套了,我重写了listview的onscrolllistener中的

@Override
public void onScroll(AbsListView view, int firstVisibleItem,
                     int visibleItemCount, int totalItemCount) {
    boolean enable = false;
    if(listView != null && listView.getChildCount() > 0){
        // check if the first item of the list is visible
        boolean firstItemVisible = listView.getFirstVisiblePosition() == 0;
        // check if the top of the first item is visible
        boolean topOfFirstItemVisible = listView.getChildAt(0).getTop() == 0;
        // enabling or disabling the refresh layout
        enable = firstItemVisible && topOfFirstItemVisible;
    }
    swipe.setEnabled(enable);
};


    重写了这个为了解决listview和swiperefreshlayout的冲突。我也重写了swiperefresh'layout的
    @Override
public boolean canChildScrollUp() {
    if (view != null && view instanceof AbsListView) {
        final AbsListView absListView = (AbsListView) view;
        return absListView.getChildCount() > 0
                && (absListView.getFirstVisiblePosition() > 0 || absListView.getChildAt(0)
                .getTop() < absListView.getPaddingTop());
    }
    return super.canChildScrollUp();
}

    可是刷新完换是有问题
    布局上面的viewpager乱套了

viewpager不在顶部啊

  • 写回答

2条回答 默认 最新

  • huohao-nicole 2017-06-16 08:38
    关注

    下拉刷新你直接加载第一页的数据,然后刷新Adapter不需要将集合中的数据都清除掉

    评论

报告相同问题?

悬赏问题

  • ¥15 win2012磁盘空间不足,c盘正常,d盘无法写入
  • ¥15 用土力学知识进行土坡稳定性分析与挡土墙设计
  • ¥70 PlayWright在Java上连接CDP关联本地Chrome启动失败,貌似是Windows端口转发问题
  • ¥15 帮我写一个c++工程
  • ¥30 Eclipse官网打不开,官网首页进不去,显示无法访问此页面,求解决方法
  • ¥15 关于smbclient 库的使用
  • ¥15 微信小程序协议怎么写
  • ¥15 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启