PullToRefresh实现ListView的刷新,加载更多的展示
来源:互联网 发布:淘宝淘口令有没有权重 编辑:程序博客网 时间:2024/06/08 14:13
public class Zi_Xun_Fragment extends Fragment {
int page_num=1;
private PullToRefreshListView pullToRefreshListView;
List<DataDataBean.NewslistBean> list = new ArrayList<>();
private MyAdapter adapter;
private ILoadingLayout startLabels;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.zi_xun_frangment_layout, container, false);
pullToRefreshListView = view.findViewById(R.id.refresh_list_view);
return view;
//
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
/*设置pullToRefreshListView的刷新模式,BOTH代表支持上拉和下拉,PULL_FROM_END代表上拉,PULL_FROM_START代表下拉 */
pullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH);
startLabels = pullToRefreshListView.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("下拉刷新");
startLabels.setRefreshingLabel("正在拉");
startLabels.setReleaseLabel("放开刷新");
ILoadingLayout endLabels = pullToRefreshListView.getLoadingLayoutProxy(false, true);
endLabels.setPullLabel("上拉刷新");
endLabels.setRefreshingLabel("正在载入...");
endLabels.setReleaseLabel("放开刷新...");
getDataFromNet();
pullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
getRefreshData();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
page_num++;
getaboveData();
}
});
}
/**
* 上拉加载更多
*/
private void getaboveData() {
String path = "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page="+page_num;
GetNetData.getData(getActivity(), path, new JsonStringDataNet() {
@Override
public void getJsonData(String json) {
Gson gson = new Gson();
DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class);
list.addAll(dataDataBean.getNewslist());
setAdapter();
//停止刷新加载更多
pullToRefreshListView.onRefreshComplete();
}
});
}
/**
* 下拉刷新的方法
*/
private void getRefreshData() {
String path = "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page=1";
GetNetData.getData(getActivity(), path, new JsonStringDataNet() {
@Override
public void getJsonData(String json) {
list.clear();
adapter.notifyDataSetChanged();
Gson gson = new Gson();
DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class);
list.addAll(0,dataDataBean.getNewslist());
setAdapter();
//停止刷新
pullToRefreshListView.onRefreshComplete();
//设置时间
Date date= new Date(System.currentTimeMillis());
SimpleDateFormat item = new SimpleDateFormat("HH:mm");
startLabels.setLastUpdatedLabel(item.format(date));
}
});
}
//请求网络数据
private void getDataFromNet() {
String path = "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page=1";
public void getJsonData(String json) {
Gson gson = new Gson();
DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class);
list.addAll(dataDataBean.getNewslist());
setAdapter();
}
});
}
private void setAdapter() {
//设置适配器
if (adapter==null) {
adapter = new MyAdapter(getActivity(), list);
pullToRefreshListView.setAdapter(adapter);
}else{
adapter.notifyDataSetChanged();
}
}
}
int page_num=1;
private PullToRefreshListView pullToRefreshListView;
List<DataDataBean.NewslistBean> list = new ArrayList<>();
private MyAdapter adapter;
private ILoadingLayout startLabels;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.zi_xun_frangment_layout, container, false);
pullToRefreshListView = view.findViewById(R.id.refresh_list_view);
return view;
//
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
/*设置pullToRefreshListView的刷新模式,BOTH代表支持上拉和下拉,PULL_FROM_END代表上拉,PULL_FROM_START代表下拉 */
pullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH);
startLabels = pullToRefreshListView.getLoadingLayoutProxy(true, false);
startLabels.setPullLabel("下拉刷新");
startLabels.setRefreshingLabel("正在拉");
startLabels.setReleaseLabel("放开刷新");
ILoadingLayout endLabels = pullToRefreshListView.getLoadingLayoutProxy(false, true);
endLabels.setPullLabel("上拉刷新");
endLabels.setRefreshingLabel("正在载入...");
endLabels.setReleaseLabel("放开刷新...");
getDataFromNet();
pullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
getRefreshData();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
page_num++;
getaboveData();
}
});
}
/**
* 上拉加载更多
*/
private void getaboveData() {
String path = "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page="+page_num;
GetNetData.getData(getActivity(), path, new JsonStringDataNet() {
@Override
public void getJsonData(String json) {
Gson gson = new Gson();
DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class);
list.addAll(dataDataBean.getNewslist());
setAdapter();
//停止刷新加载更多
pullToRefreshListView.onRefreshComplete();
}
});
}
/**
* 下拉刷新的方法
*/
private void getRefreshData() {
String path = "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page=1";
GetNetData.getData(getActivity(), path, new JsonStringDataNet() {
@Override
public void getJsonData(String json) {
list.clear();
adapter.notifyDataSetChanged();
Gson gson = new Gson();
DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class);
list.addAll(0,dataDataBean.getNewslist());
setAdapter();
//停止刷新
pullToRefreshListView.onRefreshComplete();
//设置时间
Date date= new Date(System.currentTimeMillis());
SimpleDateFormat item = new SimpleDateFormat("HH:mm");
startLabels.setLastUpdatedLabel(item.format(date));
}
});
}
//请求网络数据
private void getDataFromNet() {
String path = "https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10&page=1";
GetNetData.getData(getActivity(), path, new JsonStringDataNet() {
//重写的自定义接口中的方法
public void getJsonData(String json) {
Gson gson = new Gson();
DataDataBean dataDataBean = gson.fromJson(json, DataDataBean.class);
list.addAll(dataDataBean.getNewslist());
setAdapter();
}
});
}
private void setAdapter() {
//设置适配器
if (adapter==null) {
adapter = new MyAdapter(getActivity(), list);
pullToRefreshListView.setAdapter(adapter);
}else{
adapter.notifyDataSetChanged();
}
}
}
阅读全文
0 0
- PullToRefresh实现ListView的刷新,加载更多的展示
- PullToRefresh实现下拉刷新和上拉加载更多的ListView
- PullToReFresh 实现 RecycleView 横向滑动的刷新和加载更多
- PullToRefresh实现listview刷新加载
- PullToRefresh实现listview刷新加载
- PullToRefresh实现listview刷新加载
- listview加载刷新加载更多的逻辑
- Android ListView下拉刷新上拉加载更多的实现
- listview下拉刷新,上拉加载更多的实现方法
- Android实现ListView的下拉刷新、上拉加载更多
- ListView下拉刷新和上拉加载更多的实现
- PullToRefresh上拉刷新下拉加载更多的使用
- PullToRefresh实现简单的下拉刷新和上拉加载更多
- pulltorefresh+recycleview 实现的瀑布流(带下拉刷新,上拉加载更多)
- ListView的下拉刷新,点击加载更多
- pulltorefresh上拉加载,没有更多数据的时候显示“加载完成”,不回调刷新接口的实现
- Android scrollview中嵌套listview实现listview的下拉刷新上拉加载更多
- Android-PullToRefresh上拉下拉刷新加载更多,以及gridview刷新功能的Library下载地址
- $('#address').combotree({ url:common.getContextPath()+'/base/getWtsdTree.do', lines:true,
- HTML ionic左和右的侧滑栏
- 基于Vue、Nodejs、Socket.io的聊天应用
- java下载远程FTP文件至本地
- 'tuple' object is not callable解决方案
- PullToRefresh实现ListView的刷新,加载更多的展示
- 2006年培养学员8万人,每年增长%25,请问按此增长速度,到那一年培训学员人数将达到20万人用for,while,dowhile,实现
- 2006年培养学员8万人,每年增长%25,请问按此增长速度,到那一年培训学员人数将达到20万人用for,while,dowhile,实现
- 垃圾回收机制
- 拷贝构造中的N中调用情况
- linux路由管理方法汇总
- 手写一个JSONP
- 管理网络
- 文章标题