ImageLoader多张图片&listview多条目加载

来源:互联网 发布:淘宝联盟api免费申请 编辑:程序博客网 时间:2024/05/29 07:38

//MainActivity

package com.bawei.mi;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.util.Log;import android.widget.ListView;import com.bawei.mi.Adapter.lv_adapter;import com.bawei.mi.Bean.json_bean;import com.bawei.mi.Bean.lv_bean;import com.google.gson.Gson;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.net.HttpURLConnection;import java.net.MalformedURLException;import java.net.URL;import java.util.ArrayList;import java.util.List;public class MainActivity extends AppCompatActivity {    private ListView lv;    private ArrayList<lv_bean> list = new ArrayList<lv_bean>();    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        //获取控件id        lv = (ListView) findViewById(R.id.lv);        initData();//解析json串    }    Handler handler = new Handler() {        @Override        public void handleMessage(Message msg) {            super.handleMessage(msg);            Gson gson = new Gson();            String str = msg.obj.toString();//            json_bean json_bean = gson.fromJson((String) msg.obj, json_bean.class);            json_bean json_bean = gson.fromJson(str, json_bean.class);            com.bawei.mi.Bean.json_bean.ResultBean result = json_bean.getResult();            List<com.bawei.mi.Bean.json_bean.ResultBean.DataBean> data = result.getData();
//判断是否存在ABC图片            for (int i = 0; i < data.size(); i++) {                String thumbnail_pic_s = data.get(i).getThumbnail_pic_s();                String thumbnail_pic_s02 = data.get(i).getThumbnail_pic_s02();                String thumbnail_pic_s03 = data.get(i).getThumbnail_pic_s03();                if (thumbnail_pic_s != null && thumbnail_pic_s02 == null && thumbnail_pic_s03 == null) {                    list.add(new lv_bean(data.get(i).getTitle(), data.get(i).getThumbnail_pic_s(), 0));                } else if (thumbnail_pic_s != null && thumbnail_pic_s02 != null && thumbnail_pic_s03 == null) {                    list.add(new lv_bean(data.get(i).getTitle(), data.get(i).getThumbnail_pic_s(), data.get(i).getThumbnail_pic_s02(), 1));                } else if (thumbnail_pic_s != null && thumbnail_pic_s02 != null && thumbnail_pic_s03 != null) {                    list.add(new lv_bean(data.get(i).getTitle(), data.get(i).getThumbnail_pic_s(), data.get(i).getThumbnail_pic_s02(), data.get(i).getThumbnail_pic_s03(), 2));                }            }            lv.setAdapter(new lv_adapter(MainActivity.this, list));            Log.e("shipeiqidexiamian", "qwrwjsda");        }    };    //解析json串    private void initData() {        new Thread() {            @Override            public void run() {                super.run();                try {                    URL url = new URL("http://v.juhe.cn/toutiao/index?type=top&key=2f092bd9ce76c0257052d6d3c93c11b4");                    HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();                    int responseCode = urlConnection.getResponseCode();                    if (responseCode == 200) {                        InputStream inputStream = urlConnection.getInputStream();                        BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));                        StringBuilder builder = new StringBuilder();                        String stringTemp = "";                        while ((stringTemp = reader.readLine()) != null) {                            builder.append(stringTemp);                        }                        Message message = new Message();                        message.obj = builder.toString();                        handler.sendMessage(message);                    }                } catch (MalformedURLException e) {                    e.printStackTrace();                } catch (IOException e) {                    e.printStackTrace();                }            }        }.start();    }}
//adapter适配器
package com.bawei.mi.Adapter;import android.content.Context;import android.util.Log;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.TextView;import com.bawei.mi.Bean.lv_bean;import com.bawei.mi.R;import com.nostra13.universalimageloader.core.ImageLoader;import java.util.ArrayList;/** * author:Created by WangZhiQiang on 2017/9/8. */public class lv_adapter extends BaseAdapter {    private Context con;    private ArrayList<lv_bean> list;    public lv_adapter(Context con, ArrayList<lv_bean> list) {        this.con = con;        this.list = list;    }    @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 int getItemViewType(int position) {        return list.get(position).getType();    }    @Override    public int getViewTypeCount() {        return 3;    }    class viewHoder {        TextView title;        ImageView img1;        ImageView img2;        ImageView img3;    }    @Override    public View getView(int i, View view, ViewGroup viewGroup) {        viewHoder hoder = new viewHoder();        lv_bean bean = list.get(i);        int type = bean.getType();        if (type == 0) {            if (view == null) {                view = View.inflate(con, R.layout.layout_first, null);                hoder.title = (TextView) view.findViewById(R.id.title);                hoder.img1 = (ImageView) view.findViewById(R.id.img1);                view.setTag(hoder);            } else {                hoder = (viewHoder) view.getTag();            }            hoder.title.setText(bean.getTitle());            ImageLoader.getInstance().displayImage(bean.getPic1(), hoder.img1);            Log.e("adapteradapter", "111111111");        } else if (type == 1) {            if (view == null) {                view = View.inflate(con, R.layout.layout_second, null);                hoder.title = (TextView) view.findViewById(R.id.title);                hoder.img1 = (ImageView) view.findViewById(R.id.img1);                hoder.img2 = (ImageView) view.findViewById(R.id.img2);                view.setTag(hoder);            } else {                hoder = (viewHoder) view.getTag();            }            hoder.title.setText(bean.getTitle());            ImageLoader.getInstance().displayImage(bean.getPic1(), hoder.img1);            ImageLoader.getInstance().displayImage(bean.getPic2(), hoder.img2);            Log.e("adapteradapter", "222222222");        } else if (type == 2) {            if (view == null) {                view = View.inflate(con, R.layout.layout_thrid, null);                hoder.title = (TextView) view.findViewById(R.id.title);                hoder.img1 = (ImageView) view.findViewById(R.id.img1);                hoder.img2 = (ImageView) view.findViewById(R.id.img2);                hoder.img3 = (ImageView) view.findViewById(R.id.img3);                view.setTag(hoder);            } else {                hoder = (viewHoder) view.getTag();            }            hoder.title.setText(bean.getTitle());            ImageLoader.getInstance().displayImage(bean.getPic1(), hoder.img1);            ImageLoader.getInstance().displayImage(bean.getPic2(), hoder.img2);            ImageLoader.getInstance().displayImage(bean.getPic3(), hoder.img3);            Log.e("adapteradapter", "33333333");        }        return view;    }}


原创粉丝点击