list下拉刷新库Android,Android ExpandableListView实现下拉刷新和加载更多效果

本文介绍了如何在Android中为ExpandableListView添加下拉刷新和加载更多的功能。首先在XML布局文件中设置了listSelector和适配器,然后在UI中配置了回调接口,并通过Handler模拟了数据加载。当加载次数达到一定值时,显示没有更多数据,否则更新数据并通知适配器。
摘要由CSDN通过智能技术生成

支持下拉刷新和加载更多的ExpandableListView,供大家参考,具体内容如下

1AK06343-0.jpg

模拟器有点卡,滑动的时候鼠标不方便

怎么用:

XML中声明

android:listSelector="@android:color/transparent"

android:id="@+id/elv_coupon"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:dividerHeight="1dp">

UI中配置下拉刷新的回调以及是否支持下拉和加载更多

expandableListView = (SExpandableListView)

findViewById(R.id.elv_coupon);

// 在设置适配器之前设置是否支持下拉刷新

expandableListView.setLoadingMoreEnabled(true);

expandableListView.setPullRefreshEnabled(true);

expandableListView.setAdapter(couponAdapter);

设置下拉刷新和加载跟多的回调接口

expandableListView.setmLoadingListener(new SExpandableListView.LoadingListener() {

@Override

public void onLoadMore() {

// 模拟加载更多

isPull = false;

// 这里应该在项目中请求,这里用延时模拟接口请求

loadCount++;

Message msg = handler.obtainMessage();

msg.arg1 = loadCount;

handler.sendMessageDelayed(msg, 2000);

Log.e("TAG---HANDLER:", loadCount + "-->");

}

@Override

public void onRefresh() {

isPull = true;

loadCount++;

// 模拟接口请求下拉刷新

Message msg = handler.obtainMessage();

msg.arg1 = loadCount;

handler.sendMessageDelayed(msg, 2000);

Log.e("TAG---HANDLER:", loadCount + "-->");

}

});

private Handler handler = new Handler() {

@Override

public void handleMessage(Message msg) {

super.handleMessage(msg);

// 模拟接口回复数据,加入下拉刷新次数为6次的话我们就认为没有更多了

if (loadCount > 6) {

expandableListView.refreshComplete();

expandableListView.setNoMore(true);

} else {

addLoadMoreData();

if (isPull) {

expandableListView.refreshComplete();

}

couponAdapter.notifyDataSetChanged();

// 是不是全部展开,根据需求设置

// expanedAll();

}

Log.e("TAG---收到消息:", loadCount + "-->");

}

};

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值