//布局文件xml文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.TabLayout
android:id="@+id/tablayout"
android:layout_width="match_parent"
android:layout_height="30dp"/>
<com.youth.banner.Banner
android:id="@+id/xlv_banner"
android:layout_width="match_parent"
android:layout_height="130dp"></com.youth.banner.Banner>
<com.bwie.xlistviewlibrary.View.XListView
android:id="@+id/xlv"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
</LinearLayout>
//Activity文件
package com.lbp.demo9.frag;
import android.content.Context;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.design.widget.TabLayout;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;
import com.bwie.xlistviewlibrary.View.XListView;
import com.google.gson.Gson;
import com.lbp.demo9.R;
import com.lbp.demo9.bean.MyBean;
import com.lbp.demo9.util.GetJsonUtil;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.youth.banner.Banner;
import java.util.ArrayList;
import java.util.List;
/**
* Created by Administrator on 2017/11/16 0016.
*/
public class ChildFragment2 extends Fragment implements XListView.IXListViewListener{
private List<String> listdata = new ArrayList<>();
private View view;
private TabLayout tablayout;
private String uristr="http://www.93.gov.cn/93app/data.do?channelId=0&startNum=15";
private Banner xlv_banner;
private XListView xlv;
private MyAdapter adapter;
private String uri1;
int aa=1;
private List<MyBean.DataBean> listbean = new ArrayList<>();
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
view = inflater.inflate(R.layout.child2, container, false);
initab();
initbanner();
initXlist();
return view;
}
private void initXlist() {
xlv = view.findViewById(R.id.xlv);
xlv.setPullLoadEnable(true); //让XListView有上拉加载的功能;
xlv.setXListViewListener(this);
setUri(1);
adapter = new MyAdapter();
new MyAsycnTask().execute(uri1);
xlv.setAdapter(adapter);
}
class MyAsycnTask extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... strings) {
String s = GetJsonUtil.getjson(strings[0]);
return s;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
MyBean bean = gson.fromJson(s, MyBean.class);
List<MyBean.DataBean> data = bean.getData();
listbean.addAll(data);
adapter.notifyDataSetChanged();
uiComplete();
}
}
public void setUri(int cc) {
uri1 = "http://www.93.gov.cn/93app/data.do?channelId=0&startNum="+cc;
}
class MyAdapter extends BaseAdapter{
@Override
public int getCount() {
return listbean.size();
}
@Override
public Object getItem(int i) {
return listbean.get(i);
}
@Override
public long getItemId(int i) {
return i;
}
@Override
public View getView(int i, View view, ViewGroup viewGroup) {
if(view==null){
view = View.inflate(getActivity(), R.layout.item1, null);
}
TextView tv = view.findViewById(R.id.tv1111);
tv.setText(listbean.get(i).getTITLE());
return view;
}
}
private void initbanner() {
new MyTask().execute(uristr);
xlv_banner = view.findViewById(R.id.xlv_banner);
xlv_banner.setImageLoader(new MyImageloader());
xlv_banner.setImages(listdata);
xlv_banner.start();
}
@Override
public void onRefresh() {
listbean.clear();
aa = 1;
setUri(aa);
new MyAsycnTask().execute(uri1);
}
@Override
public void onLoadMore() {
aa++;
setUri(aa);
new MyAsycnTask().execute(uri1);
}
class MyTask extends AsyncTask<String,Void,String>{
@Override
protected String doInBackground(String... strings) {
String s = GetJsonUtil.getjson(strings[0]);
return s;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
MyBean bean = gson.fromJson(s, MyBean.class);
List<MyBean.DataBean> data = bean.getData();
for (int i = 0; i < data.size() ; i++) {
listdata.add(data.get(i).getIMAGEURL());
}
xlv_banner.setImageLoader(new MyImageloader());
xlv_banner.setImages(listdata);
xlv_banner.start();
}
}
private void initab() {
tablayout = view.findViewById(R.id.tablayout);
tablayout.setTabMode(TabLayout.MODE_FIXED);
TabLayout.Tab tab1 = tablayout.newTab().setText("科技");
tablayout.addTab(tab1,true);
TabLayout.Tab tab2 = tablayout.newTab().setText("国内");
tablayout.addTab(tab2,true);
TabLayout.Tab tab3 = tablayout.newTab().setText("国外");
tablayout.addTab(tab3,true);
TabLayout.Tab tab4 = tablayout.newTab().setText("生活");
tablayout.addTab(tab4,true);
}
private class MyImageloader extends com.youth.banner.loader.ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
ImageLoader.getInstance().displayImage((String)path,imageView);
}
}
private void uiComplete(){
xlv.stopRefresh();//停止刷新
xlv.stopLoadMore();//停止上拉加载更多
//Calendar instance = Calendar.getInstance();
}
}