ListView展示 网络请求的数据, 并LoaderImage请求网络图片

来源:互联网 发布:经济学数据分析 编辑:程序博客网 时间:2024/06/11 04:54
/** * 网络获取数据   并解析+解析图片地址 */public class MainActivity extends AppCompatActivity {    private ListView lv;    List<Da.NewslistBean> list;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        // 找控件        lv = (ListView) findViewById(R.id.lv);        list = new ArrayList<Da.NewslistBean>();        // 异步任务        new AsyncTask<String,Integer,String>(){            @Override            protected String doInBackground(String... strings) {                // 初始化数据                getData();                // ImageLoader                ImageLoaderConfiguration configuration = ImageLoaderConfiguration.createDefault(MainActivity.this);                ImageLoader.getInstance().init(configuration);                return null;            }            @Override            protected void onPostExecute(String s) {                // 设置适配器                MyAdapter adapter = new MyAdapter();                lv.setAdapter(adapter);                super.onPostExecute(s);            }        }.execute();    }    private void getData() {        try {            URL url = new URL("https://api.tianapi.com/wxnew/?key=8d6e3228d25298f13af4fc40ce6c9679&num=10");            HttpURLConnection conn = (HttpURLConnection) url.openConnection();            int code = conn.getResponseCode();            if(code == 200){                // 解析数据                Gson gson = new Gson();                Da da = gson.fromJson(new InputStreamReader(conn.getInputStream(),"UTF-8"),Da.class);                list = da.getNewslist();            }        } catch (Exception e) {            e.printStackTrace();        }    }    class MyAdapter 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) {            ViewHolder holder;            if(view == null){                holder = new ViewHolder();                view = View.inflate(MainActivity.this,R.layout.item,null);                holder.item_ctime = view.findViewById(R.id.item_ctime);                holder.item_title = view.findViewById(R.id.item_title);                holder.item_description = view.findViewById(R.id.item_description);                holder.item_url = view.findViewById(R.id.item_url);                holder.iv = view.findViewById(R.id.iv);                view.setTag(holder);            }else{                holder = (ViewHolder) view.getTag();            }            String path = list.get(i).getPicUrl();//            holder.iv.setImageBitmap();            ImageLoader.getInstance().displayImage(path,holder.iv);            holder.item_ctime.setText(list.get(i).getCtime());            holder.item_title.setText(list.get(i).getTitle());            holder.item_description.setText(list.get(i).getDescription());            holder.item_url.setText(list.get(i).getUrl());            return view;        }    }    class ViewHolder{        TextView item_ctime,item_title,item_description,item_url;        ImageView iv;    }    }
阅读全文
0 0