XlistView_异步

来源:互联网 发布:软件项目实施方案模板 编辑:程序博客网 时间:2024/06/08 14:20
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;    }}
原创粉丝点击