XListView请求网络数据

来源:互联网 发布:sql拒绝访问 编辑:程序博客网 时间:2024/05/20 00:13

XListView请求网络数据的使用;

导入xListview

Activity实现 XListView.IXListViewListener
重写 onRefresh  ,onLoad 方法



public class MainActivity extends AppCompatActivity implements XListView.IXListViewListener {    private Adater adater;    private List<Goods.ResultBean.RowsBean> list = new ArrayList<>();    private XListView xListView;    private Handler handler;    private DrawerLayout drawerLayout;    private ImageView iv;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        initView();        handler = new Handler();        adater = new Adater();        xListView.setAdapter(adater);        initdata();    }    private void initView() {        xListView = (XListView) findViewById(R.id.techan_xListView);        drawerLayout = (DrawerLayout) findViewById(R.id.DrawerLayout);        iv = (ImageView) findViewById(R.id.image);        xListView.setPullLoadEnable(true);        //接口回调一定要配, 容易忘记;        xListView.setXListViewListener(this);    }    private void initdata() {        new MyAsyncTaskString().execute("http://api.fang.anjuke.com/m/android/1.3/shouye/recInfosV3/?city_id=14&lat=40.04652&lng=116.306033&api_key=androidkey&sig=9317e9634b5fbc16078ab07abb6661c5&macid=45cd2478331b184ff0e15f29aaa89e3e&app=a-ajk&_pid=11738&o=PE-TL10-user+4.4.2+HuaweiPE-TL10+CHNC00B260+ota-rel-keys%2Crelease-keys&from=mobile&m=Android-PE-TL10&cv=9.5.1&cid=14&i=864601026706713&v=4.4.2&pm=b61&uuid=1848c59c-185d-48d9-b0e9-782016041109&_chat_id=0&qtime=20160411091603");    }    class Adater extends BaseAdapter {        public Adater() {            super();        }        @Override        public int getCount() {            return list.size();        }        @Override        public Object getItem(int i) {            return list.get(i);        }        @Override        public long getItemId(int i) {            return i;        }        @Override        public View getView(int i, View containerView, ViewGroup viewGroup) {            containerView = View.inflate(MainActivity.this, R.layout.listview, null);            ImageView imageView = (ImageView) containerView.findViewById(R.id.imageView);            TextView tv = (TextView) containerView.findViewById(R.id.textView);            tv.setText(list.get(i).getInfo().getTags());            imageView.setOnClickListener(new View.OnClickListener() {                @Override                public void onClick(View view) {                    drawerLayout.openDrawer(iv);                }            });            new MyAsyncTaskImage(imageView).execute(list.get(i).getInfo().getDefault_image());            return containerView;        }    }    class MyAsyncTaskString extends AsyncTask<String, Void, String> {        @Override        protected void onPreExecute() {            super.onPreExecute();        }        @Override        protected void onPostExecute(String s) {            super.onPostExecute(s);            Gson gson = new Gson();            Goods goods = gson.fromJson(s, Goods.class);            List<Goods.ResultBean.RowsBean> tempList = goods.getResult().getRows();            Log.e("wzq", "onPostExecute:tempList "+tempList.size());            list.addAll(tempList);            Log.e("wzq", "onPostExecute:list.size() "+list.size());            adater.notifyDataSetChanged();        }        @Override        protected String doInBackground(String... strings) {            return new Utiles().getAsytemString(strings[0]);        }        @Override        protected void onProgressUpdate(Void... values) {            super.onProgressUpdate(values);        }    }    class MyAsyncTaskImage extends AsyncTask<String, Void, Bitmap> {        private ImageView image;        public MyAsyncTaskImage(ImageView image) {            this.image = image;        }        @Override        protected void onPreExecute() {            super.onPreExecute();        }        @Override        protected void onPostExecute(Bitmap bitmap) {            super.onPostExecute(bitmap);            image.setImageBitmap(bitmap);        }        @Override        protected void onProgressUpdate(Void... values) {            super.onProgressUpdate(values);        }        @Override        protected Bitmap doInBackground(String... strings) {            return new Utiles().getAsytemImage(strings[0]);        }    }    // 关闭    public void onLoad() {        xListView.stopRefresh();        xListView.stopLoadMore();        xListView.setRefreshTime("刚刚");    }    //刷新    @Override    public void onRefresh() {        list.clear();        initdata();        onLoad();    }    //加载更多    @Override    public void onLoadMore() {        //1--保留之前集合中的数据        //2 把新数据添加到list中,更新适配器;        initdata();        onLoad();    }    @Override    public boolean onKeyDown(int keyCode, KeyEvent event) {        if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) {            this.finish();        }        return false;    }}
原创粉丝点击