XBanner轮播和pullToRefreshListView刷新条目

来源:互联网 发布:中国农业生产总值数据 编辑:程序博客网 时间:2024/06/05 05:01
package com.rikao_1021.fragment;


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.ImageView;


import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.ILoadingLayout;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import com.nostra13.universalimageloader.core.ImageLoader;
import com.rikao_1021.R;
import com.rikao_1021.Util.ImageLoaderUtil;
import com.rikao_1021.Util.JsonCallBack;
import com.rikao_1021.Util.NetDataUtil;
import com.rikao_1021.adapter.MyAdapter;
import com.rikao_1021.bean.AllContent;
import com.stx.xhb.xbanner.XBanner;


import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;


/**
 * Created by 李欣 on 2017/10/21.
 */


public class TuiJianFragment extends Fragment implements PullToRefreshBase.OnRefreshListener2{




    private XBanner tuijian_xbanner;
    int pagenum = 1;
    List<String> imgesUrl = new ArrayList<>();
    private PullToRefreshListView refresh_list_view;
    List<AllContent.ResultBean.ListBean> listbean = new ArrayList<>();


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.layout_tuijan, container, false);
        tuijian_xbanner = (XBanner) view.findViewById(R.id.tuijian_xbanner);
        refresh_list_view = (PullToRefreshListView) view.findViewById(R.id.refresh_list_view);
        //设置模式
        refresh_list_view.setMode(PullToRefreshBase.Mode.BOTH);
        //设置刷新提示
        ILoadingLayout startLabels = refresh_list_view
                .getLoadingLayoutProxy(true, false);
        startLabels.setPullLabel("下拉刷新");
        startLabels.setRefreshingLabel("正在刷新...");
        startLabels.setReleaseLabel("放开刷新");
        //设置加载
        ILoadingLayout endLabels = refresh_list_view.getLoadingLayoutProxy(
                false, true);
        endLabels.setPullLabel("上拉加载");
        endLabels.setRefreshingLabel("正在载入...");
        endLabels.setReleaseLabel("放开刷新...");
        //设置适配器
        refresh_list_view.setOnRefreshListener(this);
        return view;
    }


    @Override
    public void onActivityCreated(@Nullable Bundle savedInstanceState) {
        super.onActivityCreated(savedInstanceState);
        String path = "http://v.juhe.cn/weixin/query?key=5ae347d69818dceea1762f4ef7fc8264&pno="+pagenum;
        NetDataUtil.getDataFromNet(path, getActivity(), new JsonCallBack() {
            @Override
            public void getjson(String json) {
                Gson gson = new Gson();
                AllContent allContent = gson.fromJson(json, AllContent.class);
                List<AllContent.ResultBean.ListBean> list = allContent.getResult().getList();
                for (AllContent.ResultBean.ListBean bean:list) {
                    imgesUrl.add(bean.getFirstImg());
                }
                tuijian_xbanner.setData(imgesUrl);
                tuijian_xbanner.setmAdapter(new XBanner.XBannerAdapter() {
                    @Override
                    public void loadBanner(XBanner banner, View view, int position) {
                        ImageLoader.getInstance().displayImage(imgesUrl.get(position), (ImageView) view,ImageLoaderUtil.getroundedoption());
                    }
                });


            }
        });
        //默认显示
        FristShowData();
    }


    @Override
    public void onPullDownToRefresh(PullToRefreshBase refreshView) {
        FristShowData();
    }


    @Override
    public void onPullUpToRefresh(PullToRefreshBase refreshView) {
        loadMore();
    }
    //刷新
    private void FristShowData() {
        //将获取的数据进行解析
        String path = "http://v.juhe.cn/weixin/query?key=5ae347d69818dceea1762f4ef7fc8264";
        NetDataUtil.getDataFromNet(path, getActivity(), new JsonCallBack() {
            @Override
            public void getjson(String json) {
                Gson gson = new Gson();
                AllContent bean = gson.fromJson(json, AllContent.class);
                listbean.clear();//清空集合
                listbean.addAll(0,bean.getResult().getList());//将解析的数据全部添加到集合
                refresh_list_view.setAdapter(new MyAdapter(getActivity(),listbean));//设置适配器
                //停止刷新
                refresh_list_view.onRefreshComplete();
                //设置上次刷新时间
                Date date = new Date(System.currentTimeMillis());
                SimpleDateFormat sdf = new SimpleDateFormat("HH:mm");
                String time = sdf.format(date);
                refresh_list_view.setLastUpdatedLabel(time);
            }
        });
    }
    public void loadMore() {
        pagenum++;
        //将获取的数据进行解析
        String path = "http://v.juhe.cn/weixin/query?key=5ae347d69818dceea1762f4ef7fc8264&pno="+pagenum;
        NetDataUtil.getDataFromNet(path, getActivity(), new JsonCallBack() {
            @Override
            public void getjson(String json) {
                Gson gson = new Gson();
                AllContent bean = gson.fromJson(json, AllContent.class);
                listbean.addAll(bean.getResult().getList());//将解析的数据全部添加到集合
                //设置适配器
                refresh_list_view.setAdapter(new MyAdapter(getActivity(),listbean));
                //停止加载
                refresh_list_view.onRefreshComplete();
            }
        });
    }
}
原创粉丝点击