android ListView利用SimpleAdapter显示特定布局并且异步加载网络图片
先看下效果,我的都是从网络上获取的数据,前期测试推介你用自己定义好的数据。首先我们需要用到一个功能强大的加载图片外部库,打开https://github.com/nostra13/Android-Universal-Image-Loader下载库,然后打开第一个文件夹把其中1.9.5的jar包中导入项目中libs中先在布局里定义一个ListView,这个不用我多说吧
先看下效果,我的都是从网络上获取的数据,前期测试推介你用自己定义好的数据。
首先我们需要用到一个功能强大的加载图片外部库,打开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;
}
};
最后呢,我也是新手,有什么问题希望大神指导。
更多推荐
所有评论(0)