//先导入library包
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ListView;
import com.google.gson.Gson;
import com.handmark.pulltorefresh.library.PullToRefreshBase;
import com.handmark.pulltorefresh.library.PullToRefreshListView;
import java.util.List;
public class MainActivity extends AppCompatActivity {
private PullToRefreshListView lv;
private int i=1;
private Myadapter myadapter;
private List<JavaBean.ResultsBean> data;
private static final String surl="http://gank.io/api/data/Android/10/1";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
lv=(PullToRefreshListView)findViewById(R.id.pull_refresh_list);
//解析数据
new AsyncTask<String,Integer,String>(){
@Override
protected String doInBackground(String... strings) {
String str=new GetJson().getJson(surl);
return str;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
data = new Gson().fromJson(s, JavaBean.class).getResults();
//设置适配器
myadapter = new Myadapter(data, MainActivity.this);
lv.setAdapter(myadapter);
}
}.execute();
//监听
lv.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
//下拉刷新
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
new AsyncTask<String,Integer,String>(){
@Override
protected String doInBackground(String... strings) {
String str=new GetJson().getJson(surl);
return str;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
List<JavaBean.ResultsBean> data = new Gson().fromJson(s, JavaBean.class).getResults();
//设置适配器
lv.setAdapter(new Myadapter(data,MainActivity.this));
myadapter.notifyDataSetChanged();
//停止刷新
lv.onRefreshComplete();
}
}.execute();
}
//上拉加载
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
new AsyncTask<String,Integer,String>(){
@Override
protected String doInBackground(String... strings) {
String str=new GetJson().getJson(surl);
return str;
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
List<JavaBean.ResultsBean> data1 = new Gson().fromJson(s, JavaBean.class).getResults();
//设置适配器
data.addAll(data1);
myadapter.notifyDataSetChanged();
//停止刷新
lv.onRefreshComplete();
}
}.execute();
}
});
}
}