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 = "http://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); } }
线程异步
猜你喜欢
转载自blog.csdn.net/weixin_42575367/article/details/82562317
今日推荐
周排行