public class MainActivity extends AppCompatActivity { XListView lv; List<Bean.ResultBean> list; MyAdapter adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); lv = (XListView) findViewById(R.id.lv); lv.setPullRefreshEnable(true); lv.setPullLoadEnable(true); lv.setXListViewListener(new XListView.IXListViewListener() { @Override public void onRefresh() { isAdd(false); } @Override public void onLoadMore() { isAdd(true); } }); MyTask task = new MyTask(); task.execute(""); } class MyTask extends AsyncTask<String, Integer, Bean> { @Override protected Bean doInBackground(String... params) { String json = getData(); Gson gson = new Gson(); Bean bean = gson.fromJson(json, Bean.class); return bean; } @Override protected void onPostExecute(Bean bean) { super.onPostExecute(bean); list = bean.getResult(); adapter = new MyAdapter(MainActivity.this); lv.setAdapter(adapter); isAdd(true); lv.stopRefresh(); lv.stopLoadMore(); } } private void isAdd(boolean b) { if (b) { MyTask task = new MyTask(); task.execute(""); adapter.addData(list); } else { MyTask task = new MyTask(); task.execute(""); adapter.updateData(list); } } private String getData() { String path = "http://v.juhe.cn/WNXG/selectRepair?key=19cbdebe88c6b304186cb7be96137033&cityCode=suzhou"; try { URL url = new URL(path); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); if (connection.getResponseCode() == 200) { InputStream inputStream = connection.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String str = ""; StringBuilder builder = new StringBuilder(); while ((str = reader.readLine()) != null) { builder.append(str); } return builder.toString(); } } catch (Exception e) { e.printStackTrace(); } return null; } }
XlistView_异步
最新推荐文章于 2019-01-05 11:52:45 发布