String url = "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"; private XListView xListView; List<Goods.ResultBean.RowsBean> list = new ArrayList<>(); //大集合 private MAdapter mAdapter; private ImageLoader imageLoaderInstances; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); xListView = (XListView) findViewById(R.id.xlv); imageLoaderInstances = ImageLoader.getInstance(); mAdapter = new MAdapter(); xListView.setAdapter(mAdapter); getNetData();//联网请求数据 xListView.setPullLoadEnable(true); //让XListView有上拉加载的功能; xListView.setXListViewListener(this);// 接口回调要把接口实现类设置进去, MainActivity就是(XListViewListener)它的实现了 } private void getNetData() { new MAsyncTask().execute(url); } class MAsyncTask extends AsyncTask<String, Void, String> { @Override protected String doInBackground(String... strings) { return NetWordUtils.getNetjson(strings[0]); } @Override protected void onPostExecute(String s) { super.onPostExecute(s); Gson gson = new Gson(); Goods goods = gson.fromJson(s, Goods.class); //得到集合; List<Goods.ResultBean.RowsBean> rows = goods.getResult().getRows(); //把从网络解析的数据放到adapter使用的集合里; list.addAll(rows); mAdapter.notifyDataSetChanged(); uiComplete();// 让刷新头 或者刷新底部ui返回; } } class MAdapter extends BaseAdapter { @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 view, ViewGroup viewGroup) { View viewItem = View.inflate(MainActivity.this, R.layout.listview, null); TextView textView = (TextView) viewItem.findViewById(R.id.textView); ImageView imageView = (ImageView) viewItem.findViewById(R.id.imageView); textView.setText(list.get(i).getInfo().getLoupan_name()); imageLoaderInstances.displayImage(list.get(i).getInfo().getDefault_image(),imageView); return viewItem; } } /** * 下拉刷新 */ @Override public void onRefresh() { list.clear(); getNetData(); } /** * 上啦加载 */ @Override public void onLoadMore() { getNetData(); } /** * 让刷新头 或者刷新底部ui返回; */ private void uiComplete(){ xListView.stopRefresh();//停止刷新 xListView.stopLoadMore();//停止上拉加载更多 xListView.setRefreshTime("刚刚");}
*****
依赖有
implementation project(':xlistviewlibrary')(这是自己封装的Xlistview的源码) implementation 'com.google.code.gson:gson:2.2.4'(Gson的解析方式) compile 'com.nostra13.universalimageloader:universal-image-loader:1.9.5'(图片框架的依赖)