PullToRefreshListView____handler

PullToRefreshListView
handler解析

public class Ffarg03 extends Fragment {
    String baseUrl = "http://api.expoon.com/AppNews/getNewsList/type/1/p/";
    private PullToRefreshListView listView;
    ArrayList<Bean> list = new ArrayList<Bean>();
    private MylistAdapter adapter;
    int page;

    Handler handler = new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (msg.what == 1) {

                String string = (String)msg.obj;
                Gson gson = new Gson();
                JsonBean jsonBean = gson.fromJson(string, JsonBean.class);
                List<JsonBean.DataBean> data = jsonBean.getData();

                ArrayList<Bean> sList = new ArrayList<Bean>();
                for (int i = 0; i < data.size(); i++) {
                    sList.add(new Bean(data.get(i).getNews_summary(),data.get(i).getPic_url()));
                }

                list.addAll(sList);
                adapter.notifyDataSetChanged();

                listView.onRefreshComplete();//    让刷新头和刷新底部返回
            }
        }
    };

    @Nullable
    @Override
    public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.ffrag03,container,false);
        //控件
        listView = view.findViewById(R.id.listView);

        //请求数据
        initData(0);

        //适配器
        adapter = new MylistAdapter(getActivity(),list);
        listView.setAdapter(adapter);

        //
        listView.setMode(PullToRefreshListView.Mode.BOTH);

        /**
         * 设置plv的上下拉刷新监听;
         */
        listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
            /**
             * 下拉刷新
             * @param pullToRefreshBase
             */
            @Override
            public void onPullDownToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
               list.clear();
               page = 0;
                initData(0);
            }

            /***
             * 上拉加载更多;
             * @param pullToRefreshBase
             */
            @Override
            public void onPullUpToRefresh(PullToRefreshBase<ListView> pullToRefreshBase) {
                initData(page++);
            }
        });

        return view;
    }

    //
    private void initData(final int s) {
        
        new Thread(){

            @Override
            public void run() {
                super.run();

                String urlString = MyNewWork.getUrlString(baseUrl+s);

                Message message = handler.obtainMessage();
                message.obj = urlString;
                message.what =1;
                handler.sendMessage(message);

            }
        }.start();

    }

}

猜你喜欢

转载自blog.csdn.net/weixin_43812075/article/details/85039360