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);
}
}