XlistView刷新加载和Banner轮播

来源:互联网 发布:it服务外包最大 编辑:程序博客网 时间:2024/06/05 01:17
import android.content.Context;import android.os.AsyncTask;import android.os.Bundle;import android.support.annotation.Nullable;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.bwei.monthsynthesize_demo.R;import com.bwei.monthsynthesize_demo.bean.XlvData;import com.bwei.monthsynthesize_demo.utils.NetWorlUtil;import com.bwie.xlistviewlibrary.View.XListView;import com.google.gson.Gson;import com.nostra13.universalimageloader.core.ImageLoader;import com.youth.banner.Banner;import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Arrays;import java.util.Date;import java.util.List;public class ChildFrag2 extends Fragment implements XListView.IXListViewListener {    private String urlstrs = "http://api.expoon.com/AppNews/getNewsList/type/1/p/1";    private String[] urls1 = {            "http://f2.kkmh.com/image/160715/42qtqpfsd.webp-w188",            "http://f2.kkmh.com/image/171114/Q4Cv0N6hO.webp-w640",            "http://f2.kkmh.com/image/160511/chrrrrs4v.webp-w640",            "http://f2.kkmh.com/image/171114/9c70n8gv4.webp-w640"    };    private XListView xListView;    List<XlvData.DataBean> list = new ArrayList<XlvData.DataBean>();    private Myxlvadapter myxlvadapter;    private ImageLoader instance;    @Nullable    @Override    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {        View view = View.inflate(getActivity(), R.layout.childfrag2_layout, null);        return view;    }    @Override    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {        super.onViewCreated(view, savedInstanceState);        xListView = view.findViewById(R.id.xlv);        View inflate = View.inflate(getActivity(), R.layout.banner_layout, null);        //获取bannerview        Banner vbanner = inflate.findViewById(R.id.banner);        //设置图片工具        vbanner.setImageLoader(new MyImageloader());        //设置图片        vbanner.setImages(Arrays.asList(urls1));        //开启        vbanner.start();        //添加到XListView头部        xListView.addHeaderView(inflate);        instance = ImageLoader.getInstance();        //设置支持上下拉加载        xListView.setPullLoadEnable(true);        //设置xlistView事件        xListView.setXListViewListener(this);        //设置适配器        myxlvadapter = new Myxlvadapter();        xListView.setAdapter(myxlvadapter);        //获取数据        getInit();    }    //初始化数据    private void getInit() {        new MAsyncTask().execute(urlstrs);    }    //下拉刷新    @Override    public void onRefresh() {        list.clear();        getInit();    }    //上拉加载    @Override    public void onLoadMore() {        getInit();    }    //适配器    private class Myxlvadapter extends BaseAdapter {        @Override        public int getCount() {            return list.size();        }        @Override        public Object getItem(int i) {            return null;        }        @Override        public long getItemId(int i) {            return 0;        }        @Override        public View getView(int i, View view, ViewGroup viewGroup) {            Holder holder = null;            if (view == null) {                holder = new Holder();                view = View.inflate(getActivity(), R.layout.childfrag_item_layout, null);                holder.tv = view.findViewById(R.id.tv);                holder.iv = view.findViewById(R.id.iv);                view.setTag(holder);            } else {                holder = (Holder) view.getTag();            }            holder.tv.setText(list.get(i).getNews_title());            instance.displayImage(list.get(i).getPic_url(), holder.iv,new NetWorlUtil().getDisk());            return view;        }    }    class Holder {        TextView tv;        ImageView iv;    }    //刷新完成后隐藏头部和底部    public void complet(){        xListView.stopRefresh();        xListView.stopLoadMore();        Date date = new Date();        SimpleDateFormat simpleDateFormat = new SimpleDateFormat();        xListView.setRefreshTime(simpleDateFormat.format(date));    }    //Asynctask    private class MAsyncTask extends AsyncTask<String, Void, String> {        @Override        protected String doInBackground(String... strings) {            return NetWorlUtil.getNetJson(strings[0]);        }        @Override        protected void onPostExecute(String s) {            super.onPostExecute(s);            XlvData xlvData = new Gson().fromJson(s, XlvData.class);            List<XlvData.DataBean> data1 = xlvData.getData();            list.addAll(data1);            myxlvadapter.notifyDataSetChanged();            complet();        }    }    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);        }    }}
阅读全文
0 0