上拉刷新下拉加载

来源:互联网 发布:美国留学 知乎 编辑:程序博客网 时间:2024/04/20 08:15
public class Fragment01 extends Fragment {

    private XListView xlv;
    private int page=1;
    private int type=1;
    private  String url;
    private String dataType;
    private  List<User.DataBean> list=new ArrayList<>();

    private Handler handler=new Handler(){
        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if(type==1){
                xlv.stopRefresh();
                Date date=new Date(System.currentTimeMillis());
                SimpleDateFormat format=new SimpleDateFormat("HH:mm:ss");
                String time = format.format(date);
                xlv.setRefreshTime(time);
            }else{
                xlv.stopLoadMore();
            }
        }
    };

尽缘! 2017/11/12 19:42:24

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

        xlv = (XListView) view.findViewById(R.id.xlv);



        Bundle bundle = getArguments();
        dataType= bundle.getString("value");
        url ="http://api.expoon.com/AppNews/getNewsList/type/ 

"+dataType+"/p/"+page;



        xlv.setPullRefreshEnable(true);
        xlv.setPullLoadEnable(true);
        xlv.setXListViewListener(new XListView.IXListViewListener() {
            @Override
            public void onRefresh() {
                type=1;
                page=1;

                new MyTesk().execute(url);

            }

            @Override
            public void onLoadMore() {
                type=2;
                page++;

                new MyTesk().execute(url);

            }
        });

        new MyTesk().execute(url);
        return view;
    }

尽缘! 2017/11/12 19:42:43

class MyTesk extends AsyncTask<String, Void, String> {

        @Override
        protected String doInBackground(String... params) {
            try {
                URL url = new URL(params[0]);
                HttpURLConnection connection = (HttpURLConnection) url.openConnection();
                connection.setRequestMethod("GET");
                connection.setReadTimeout(30000);
                connection.setReadTimeout(30000);
                int code = connection.getResponseCode();
                if (code == 200) {
                    InputStream inputStream = connection.getInputStream();
                    ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
                    int len = 0;
                    byte[] buffer = new byte[1024];
                    while ((len = inputStream.read(buffer)) != -1) {
                        outputStream.write(buffer, 0, len);
                    }
                    outputStream.close();
                    inputStream.close();
                    String s = outputStream.toString();
                    return s;
                }
            } catch (Exception e) {
                e.printStackTrace();
            }
            return null;
        }

尽缘! 2017/11/12 19:43:04

   @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson = new Gson();
            User user = gson.fromJson(s,User.class);
           // List<User.DataBean> list = user.getData();
           // list.addAll(user.getData());
            if(type==1){
                list.clear();
                list.addAll(user.getData());
            }else{
                list.addAll(user.getData());

            }

            MyAdapter myAdapter = new MyAdapter(list, getActivity());
            xlv.setAdapter(myAdapter);
            handler.sendEmptyMessageDelayed(0,1000);


        }
    }

}
原创粉丝点击