部分代码,若查看请点击此链接
xml
<!--XlistView-->
<com.bwie.xlistviewlibrary.View.XListView
android:id="@+id/three_xlv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@id/three_vp"></com.bwie.xlistviewlibrary.View.XListView>
java
private ArrayList<ImageView> images;
private XListView xlv;
private ArrayList<Result.DataBean> lists = new ArrayList<>();
private TwoAdapter adapter;
private int pageIndex = 1;
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
v = View.inflate(getActivity(), R.layout.three, null);
//初始化组件
initView();
//初始化轮播
initvp();
//初始化XlistView
initXlv();
return v;
}
private void initView() {
vp = v.findViewById(R.id.three_vp);
lin = v.findViewById(R.id.three_lin);
xlv = v.findViewById(R.id.three_xlv);
}
private void initXlv() {
//支持下拉刷新
xlv.setPullRefreshEnable(true);
//支持上拉加载
xlv.setPullLoadEnable(true);
//设置监听事件
xlv.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {//刷新回调接口
MyTask myTask;
myTask = new MyTask(new MyTask.Icallbacks() {
@Override
public void updateUiByjson(String jsonstr) {
Gson gson = new Gson();
Result result = gson.fromJson(jsonstr, Result.class);
//清空数据
lists.clear();
lists.addAll(result.getData());
setAdapter();
}
});
myTask.execute("http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=1");
}
@Override
public void onLoadMore() {
pageIndex++;
MyTask myTask = new MyTask(new MyTask.Icallbacks() {
@Override
public void updateUiByjson(String jsonstr) {
Gson gson = new Gson();
Result result = gson.fromJson(jsonstr, Result.class);
lists.addAll(result.getData());
setAdapter();
}
});
myTask.execute("http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=" + pageIndex);
}
});
//初始化
requestNetData();
}
private void requestNetData() {
MyTask myTask;
myTask = new MyTask(new MyTask.Icallbacks() {
@Override
public void updateUiByjson(String jsonstr) {
Gson gson = new Gson();
Result result = gson.fromJson(jsonstr, Result.class);
lists.addAll(result.getData());
setAdapter();
}
});
myTask.execute("http://www.yulin520.com/a2a/impressApi/news/mergeList?pageSize=10&page=1");
}
private void setAdapter() {
if (adapter == null) {
adapter = new TwoAdapter(lists, getActivity());
xlv.setAdapter(adapter);
} else {
adapter.notifyDataSetChanged();
}
}