TabLayout和banner与XLISTView混合运用

来源:互联网 发布:it服务外包最大 编辑:程序博客网 时间:2024/06/15 11:25
//布局文件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();    }}



原创粉丝点击