zoukankan      html  css  js  c++  java
  • 2021.5.10 Android页面下拉刷新

    一、今日学习内容

      关于页面下拉刷新

    public class Frag_01 extends Fragment implements XListView.IXListViewListener{
    
        private String path = "http://www.xieast.com/api/news/news.php?page=";
        private XListView xlistview;
        private int num = 1;
        private List<Beans.DataBean> data = new ArrayList<>();
        private MyAdapter myAdapter;
        private Handler handler;
    
        @Nullable
        @Override
        public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
            View view = inflater.inflate(R.layout.frag_01,container,false);
            //控件
            xlistview = view.findViewById(R.id.xlistview);
            //方法
            getData(1);
    
            handler = new Handler();
            xlistview.setPullRefreshEnable(true);
            xlistview.setPullLoadEnable(true);
            xlistview.setXListViewListener(this);
            return view;
        }
        //时间
        private void getTime() {
            xlistview.stopRefresh();//停止刷新
            xlistview.stopLoadMore();//停止加载更多
            SimpleDateFormat dateFormat = new SimpleDateFormat("mm:ss");//设置日期显示格式
            Date date = new Date(System.currentTimeMillis()); //获取当前时间
            String format = dateFormat.format(date);// 将时间装换为设置好的格式
            xlistview.setRefreshTime(format);//设置时间*/
        }
    
        private void getData(int num) {
    
            new AsyncTask<String, Integer, List<Beans.DataBean>>() {
                @Override
                protected List<Beans.DataBean> doInBackground(String... strings) {
    
                    try {
                        URL url = new URL(strings[0]);
                        HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
                        urlConnection.setConnectTimeout(5000);
                        urlConnection.setRequestMethod("GET");
                        byte[] bytes = new byte[1024];
                        int len = 0;
                        if(urlConnection.getResponseCode()==200){
                            InputStream inputStream = urlConnection.getInputStream();
                            ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
                            while ((len=inputStream.read(bytes))!=-1){
                                outputStream.write(bytes,0,len);
                            }
                            String json = outputStream.toString();
                            inputStream.close();
                            outputStream.close();
    
                            //解析数据
                            Gson gson = new Gson();
                            Beans beans = gson.fromJson(json, Beans.class);
    
                            return beans.getData();
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
    
                    return null;
                }
    
                @Override
                protected void onPostExecute(List<Beans.DataBean> dataBeans) {
                    super.onPostExecute(dataBeans);
                    data.addAll(dataBeans);
    
                    //适配器
                    myAdapter = new MyAdapter(getActivity(), (List<Beans.DataBean>) data);
                    xlistview.setAdapter(myAdapter);
                    //适配器
                    myAdapter.notifyDataSetChanged();
                }
            }.execute(path+num);
    
        }
    
        @Override
        public void onRefresh() {
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    num = 1;
                    data.clear();
                    getData(1);
                    getTime();
                }
            },3000);
        }
    
        @Override
        public void onLoadMore() {
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                    num++;
                    getData(num);
                    getTime();
                }
            },3000);
        }
    }
  • 相关阅读:
    5-JVM常用的命令
    4-JVM 参数
    3-JVM垃圾回收算法和垃圾收集器
    2-JVM内存结构
    1-JVM基础
    非常短的git学习笔记
    白话马尔科夫链蒙特卡罗方法(MCMC)
    写了个小游戏,来玩
    胡小兔的 高考2019 游记
    机房志 | 一篇中二的文章
  • 原文地址:https://www.cnblogs.com/wmdww/p/14905836.html
Copyright © 2011-2022 走看看