我需要用图像制作 ListView;图像存储在 SDCard 上,我需要使用 URI 加载它。对我来说不是问题。但是存在以下问题:我将 10 个图像添加到 drawable 中,并为 ListView 制作了简单的适配器:
private class PointImagesAdapter extends ArrayAdapter<Integer> {
private static final int LAYOUT_ID=R.layout.adapter_point_images;
private Integer[] ii;
private LayoutInflater inflater;
private List<ImageInfo> images;
public PointImagesAdapter(Integer[] ii) {
super(MainActivity.this, LAYOUT_ID, ii);
this.ii=ii;
inflater=LayoutInflater.from(MainActivity.this);
}
@Override
public View getView(int position, View view, ViewGroup group) {
if (view==null) {
view=inflater.inflate(LAYOUT_ID, null);
}
ImageView i=(ImageView)view.findViewById(R.id.adapterPointImagesItem);
i.setImageResource(ii[position]);
return view;
}
}
它可以工作,但所有图像都有很大的分辨率(2048x1536),并且 ListView 滚动非常慢:
<ListView
android:id="@+id/dialogViewImagesList"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:background="@android:color/transparent"
android:cacheColorHint="@android:color/transparent"
android:fastScrollEnabled="true"
android:persistentDrawingCache="scrolling"
android:scrollingCache="false" >
</ListView>
我认为问题是大分辨率。我该如何解决?谢谢。