PullToRefreshListView加载和Banner轮播

public class ChildFrag1 extends Fragment {

    private PullToRefreshListView pull;
    private String urlstr = "http://www.93.gov.cn/93app/data.do?channelId=0&startNum=0";
    private String[] urls = {
            "http://f2.kkmh.com/image/160715/42qtqpfsd.webp-w180",
            "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"
    };
    List<PullData.DataBean> list = new ArrayList<PullData.DataBean>();
    private MyAdapter myAdapter;
    private com.nostra13.universalimageloader.core.ImageLoader instance;

    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.childfrag1_layout, container, false);
        return view;
    }

    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);

        instance = com.nostra13.universalimageloader.core.ImageLoader.getInstance();
        pull = view.findViewById(R.id.pull);
        //设置pull支持上下拉加载
        pull.setMode(PullToRefreshBase.Mode.BOTH);
        View inflate = View.inflate(getActivity(), R.layout.banner_layout, null);
        Banner banner1 = inflate.findViewById(R.id.banner);
        //获取可复制视图
        ListView listView = pull.getRefreshableView();
        //给banner设置加载图片工具
        banner1.setImageLoader(new MyImageLoder());
        //给banner设置图片
        banner1.setImages(Arrays.asList(urls));
        //开启
        banner1.start();
        //添加到listView头部视图
        listView.addHeaderView(inflate);
        //设置适配器
        myAdapter = new MyAdapter();
        pull.setAdapter(myAdapter);
        //获取数据
        getInit();
        //设置PullToRefreshListView刷新事件
        pull.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                list.clear();
                getInit();
            }

            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                getInit();
            }
        });

    }

    //获取数据方法
    private void getInit() {
        new MyAsyncTask().execute(urlstr);
    }


    private class MyImageLoder extends ImageLoader {
        @Override
        public void displayImage(Context context, Object path, ImageView imageView) {
            com.nostra13.universalimageloader.core.ImageLoader.getInstance().displayImage((String) path, imageView);
        }
    }

    //适配器内部类
    private class MyAdapter 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).getTITLE());
            instance.displayImage(list.get(i).getIMAGEURL(), holder.iv,new NetWorlUtil().getDisk());
            return view;
        }
    }

    class Holder {
        TextView tv;
        ImageView iv;
    }

    private class MyAsyncTask 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);

            Gson gson = new Gson();
            PullData pullData = gson.fromJson(s, PullData.class);a
            List<PullData.DataBean> data = pullData.getData();
            list.addAll(data);
            //刷新数据
            myAdapter.notifyDataSetChanged();
            pull.onRefreshComplete();
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值