XlistView_异步

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;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值