package com.bwei.www.week0205;
import android.os.AsyncTask;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import com.bwie.xlistview.XListView;
import com.google.gson.Gson;
import java.util.ArrayList;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private XListView listv;
private List<News.DataBeanX.DataBean> list;
private MyAdapter adapter;
private int currentpage = 1;
private String url = "https://365jia.cn/news/api3/365jia/news/headline?page=";
private Handler handler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listv = findViewById(R.id.listv);
list = new ArrayList<>();
adapter = new MyAdapter(this,list);
listv.setAdapter(adapter);
listv.setPullRefreshEnable(true);
listv.setPullLoadEnable(true);
getData(1,false);
listv.setXListViewListener(new XListView.IXListViewListener() {
@Override
public void onRefresh() {
currentpage = 1;
getData(currentpage,false);
}
@Override
public void onLoadMore() {
currentpage++;
getData(currentpage,true);
}
});
}
private void getData(final int currentpage, final boolean b) {
new AsyncTask<String,Integer,String>(){
@Override
protected String doInBackground(String... strings) {
String result = HttpUtils.getFromStringHttp(strings[0]);
return result;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
Gson gson = new Gson();
News news = gson.fromJson(s,News.class);
if(!b){
list.clear();
}if(news.getData().getData() == null){
return;
}
list.addAll(news.getData().getData());
adapter.notifyDataSetChanged();
handler.postDelayed(new Runnable() {
@Override
public void run() {
if (b){
listv.stopLoadMore();
}else {
listv.stopRefresh();
listv.setRefreshTime("刚刚");
}
}
},2000);
}
}.execute(url+currentpage);
}
}
package com.bwei.www.week0205;
import an