XLV上拉加载更多/下拉刷新

public class MainActivity extends AppCompatActivity {

private XListView xlv;
private List<News.DataBean> list;
private MyAdapter adapter;
private String url = "http://www.xieast.com/api/news/news.php?type=top&page=";
private int page = 1;
private boolean isLoader = false;
private Handler handler = new Handler();

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    //初始化控件
    xlv = findViewById(R.id.xlv);

    //创建集合
     list = new ArrayList<>();
     adapter = new MyAdapter(list,this);
     xlv.setAdapter(adapter);
     getQ();
     xlv.setXListViewListener(new XListView.IXListViewListener() {
         @Override
         public void onRefresh() {
            page = 1;
            isLoader = false;
            getData();
            handler.postDelayed(new Runnable() {
                @Override
                public void run() {
                   xlv.stopRefresh();
                }
            },2000);
         }

         @Override
         public void onLoadMore() {
             page++;
           isLoader = true;
             handler.postDelayed(new Runnable() {
                 @Override
                 public void run() {
                     xlv.stopLoadMore();
                 }
             },2000);
             getData();

         }
     });
     getData();

}
//设置权限
private void getQ() {
    xlv.setPullRefreshEnable(true);
    xlv.setPullLoadEnable(true);
}

//网络请求数据
private void getData() {
    new AsyncTask<String,Integer,String>(){
        @Override
        protected String doInBackground(String... strings) {
            return HttpUtils.getFromHttpURL(strings[0]);
        }

        @Override
        protected void onPostExecute(String s) {
            super.onPostExecute(s);
            Gson gson = new Gson();
            News news = gson.fromJson(s, News.class);
            List<News.DataBean> data = news.getData();
            if (data!=null){
                list.clear();
                list.addAll(data);
                adapter.notifyDataSetChanged();
            }

        }
    }.execute(url+page);
}

}

猜你喜欢

转载自blog.csdn.net/qq_43169246/article/details/83024316