1、首先要导入xutils3.0的依赖,还有添加联网权限
compile 'org.xutils:xutils:3.5.0'
2、接下来新建一个MyApplication继承Application初始化xutils
在AndroidManifest中申明Applicationandroid:name=".MyApplication"public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); x.Ext.init(this); x.Ext.setDebug(BuildConfig.DEBUG); } }3、导入xlistview的依赖包,还有Gson的依赖,还有图片加载Glide的依赖。compile 'com.google.code.gson:gson:2.8.1' compile 'com.github.bumptech.glide:glide:3.8.0'
4、主方法代码public class MainActivity extends AppCompatActivity { private String urlPath="http://www.93.gov.cn/93app/data.do?channelId=0&&startNum=0&&id==1"; private XListView xlv; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); xlv = (XListView) findViewById(R.id.xlv); jiexi(); } private void jiexi() { RequestParams params = new RequestParams(urlPath); x.http().get(params, new Callback.CommonCallback<String>() { @Override public void onSuccess(String result) { Gson gson = new Gson(); Bean bean = gson.fromJson(result,Bean.class); List<Bean.DataBean> list = bean.getData(); MyAdapter adapter = new MyAdapter( list,MainActivity.this); xlv.setAdapter(adapter); } @Override public void onError(Throwable ex, boolean isOnCallback) { } @Override public void onCancelled(CancelledException cex) { } @Override public void onFinished() { } }); } }5、适配器跟mainactivity中传过来的集合顺序跟activity要保持一致(假如是在Fragment中设置适配器,传
的是Context跟集合)public class MyAdapter extends BaseAdapter { List<Bean.DataBean> list; Context context; public MyAdapter(List<Bean.DataBean> list, Context context) { this.list = list; this.context = context; } @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 v = View.inflate(context,R.layout.xlv_layout,null); TextView text = (TextView) v.findViewById(R.id.text); ImageView image = (ImageView) v.findViewById(R.id.image); text.setText(list.get(i).getFROMNAME()); Glide.with(context).load(list.get(i).getIMAGEURL()).into(image); return v;*/ ViewHoder viewHoder = null; if (view == null) { viewHoder = new ViewHoder(); view = View.inflate(context, R.layout.xlv_layout, null); viewHoder.textView = (TextView) view.findViewById(R.id.text); viewHoder.imageView = (ImageView) view.findViewById(R.id.image); view.setTag(viewHoder); } else { viewHoder = (ViewHoder) view.getTag(); } viewHoder.textView.setText(list.get(i).getFROMNAME()); Glide.with(context).load(list.get(i).getIMAGEURL()).into(viewHoder.imageView); return view; } class ViewHoder{ TextView textView; ImageView imageView; } }