先看下效果,我的都是从网络上获取的数据,前期测试推介你用自己定义好的数据。


首先我们需要用到一个功能强大的加载图片外部库,打开https://github.com/nostra13/Android-Universal-Image-Loader下载库,然后打开第一个文件夹把其中1.9.5的jar包中导入项目中libs中

先在布局里定义一个ListView,这个不用我多说吧

<ListView

        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:divider="@color/palegreen"
        android:dividerHeight="3px"
        android:id="@+id/chat_news"

/>

下面是使用自定义的SimpleAdapter,然后重写其中的getView方法异步加载图片

                SimpleAdapter simpleAdapter = new SimpleAdapter(getActivity(), listItemx, R.layout.news_simple_item,
                        new String[]{"title", "abs"},
                        new int[]{R.id.title, R.id.abs}){
                    @Override
                    public View getView(int position, View convertView, ViewGroup parent) {
                        final View view=super.getView(position, convertView, parent);
                        final ImageView image=(ImageView)view.findViewById(R.id.image);


                            urlString= listItemx.get(position).get("image").toString();
                            DisplayImageOptions options = new DisplayImageOptions.Builder()
                                    .showImageOnLoading(R.drawable.ic_stub)
                                    .showImageOnFail(R.drawable.ic_error)
                                    .cacheInMemory(true)//设置下载的图片是否缓存在内存中
                                    .cacheOnDisk(true)//设置下载的图片是否缓存在SD卡中
                                    .displayer(new FadeInBitmapDisplayer(100))//是否图片加载好后渐入的动画时间,可能会出现闪动
                                    .bitmapConfig(Bitmap.Config.RGB_565)//图片编码类型
                                    .build();


                            ImageLoader.getInstance().displayImage(urlString, image, options);


                        return view;
                    }
                };


最后呢,我也是新手,有什么问题希望大神指导。


Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐