ListView加载网络数据和图片 如,从服务器端获得商品名称、价格、简介和图片,加载到Android ListView中又如加载微博内容需了解熟悉:1、ListView行布局,排版,getView方法这个案例可以说是实现ListView图文混排的网络版关于在ListView中实现排版的方法,参 考:2、异步任务的实现,Handler+Thread , AsyncTask3、JSON解析方式实现思路:1、异步加载服务器访问商品数据(json格式) 封装网络访问的方法2、json数据转为Adapter数据(List
}异步任务,得到网络json转换的集合数据,并在完成后加载到listview中(onPostExcute方法中执行)public class MyTask extends AsyncTask>>{@Overrideprotected void onPreExecute() {// TODO Auto-generated method stubsuper.onPreExecute();progressDialog.show();}@Overrideprotected void onPostExecute(List> result) {// TODO Auto-generated method stubsuper.onPostExecute(result);adapter.setData(result);listview.setAdapter(adapter);adapter.notifyDataSetChanged();progressDialog.dismiss();}@Overrideprotected List> doInBackground(String... params) {// TODO Auto-generated method stubList> list ;String str = HttpUtil.getRequest(params[0]);list = HttpUtil.getRequest2List(str, "products");return list;}}OnCreate()方法中启动异步任务:progressDialog = new ProgressDialog(this);progressDialog.setTitle("正在下载....");adapter = new MyAdapter(this);new MyTask().execute(HttpUtil.BASE_URL);Adapter:public class MyAdapter extends BaseAdapter{private Context context;private LayoutInflater layoutInflater;private List> list;public MyAdapter(Context context) {this.context = context;layoutInflater = layoutInflater.from(context);}public List getData(){return list;}public void setData(List> data){this.list = data;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn list.size();}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn list.get(position);}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubView view = null;final ViewHolder viewHolder;if (convertView == null ) {convertView = layoutInflater.inflate(R.layout.item, null);viewHolder = new ViewHolder();viewHolder.id = (TextView)convertView.findViewById(R.id.textView1);viewHolder.name = (TextView)convertView.findViewById(R.id.textView2);viewHolder.address = (TextView)convertView.fi。