ListView每个项目只显示一个ImageView

时间:2014-06-16 10:00:24

标签: android listview android-listview imageview

我有一个包含4个ImageView的ListView,但在使用$ ImageView设置适配器之后,我只获得了第一个ImageView。

ListView适配器:

public View getView(int position, View convertView, ViewGroup parent) {
    View vi = convertView;
    if (convertView == null) {
        vi = inflater.inflate(R.layout.onlyimageproductlist, null);
        options = new BitmapFactory.Options();
        options.inSampleSize = 3;
    }

    ImageView thumb_image1 = (ImageView) vi
            .findViewById(R.id.imageview_only_thumbnail_1); // thumb image
    ImageView thumb_image2 = (ImageView) vi
            .findViewById(R.id.imageview_only_thumbnail_2); // thumb image
    ImageView thumb_image3 = (ImageView) vi
            .findViewById(R.id.imageview_only_thumbnail_3); // thumb image
    ImageView thumb_image4 = (ImageView) vi
            .findViewById(R.id.imageview_only_thumbnail_4); // thumb image
    //building the uris...

    if (uris1 == null) {
        thumb_image1.setImageResource(R.drawable.noimage);
    } else {
        String[] path = uris1.split("file://");
        Bitmap map = BitmapFactory.decodeFile(path[1], options);
        thumb_image1.setImageBitmap(map);
    }

            //same process for image 2,3,4

        return vi;
}

我的布局:

<LinearLayout
        android:id="@+id/ll_for_thumbnail"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="3dp"
        android:orientation="horizontal"
        android:layout_marginRight="2dp" >

            <ImageView
            android:id="@+id/imageview_only_thumbnail_1"
            android:layout_width="120dp"
            android:layout_height="90dp"
            android:padding="5dp" />

            <ImageView
            android:id="@+id/imageview_only_thumbnail_2"
            android:layout_width="120dp"
            android:layout_height="90dp"
            android:padding="5dp" />


            <ImageView
            android:id="@+id/imageview_only_thumbnail_3"
            android:layout_width="120dp"
            android:layout_height="90dp"
            android:padding="5dp" />

            <ImageView
            android:id="@+id/imageview_only_thumbnail_4"
            android:layout_width="120dp"
            android:layout_height="90dp"
            android:padding="5dp" />

    </LinearLayout>        

我检查了uris,所有人都参考了一张照片。否则我会显示默认图片。但是我仍然没有得到任何一个超出我获得图片或默认图片的第一个拇指。

1 个答案:

答案 0 :(得分:0)

根据你说你在编程方面做得很好,我建议你检查你的布局文件。使用权重参数,以便所有ImageViews在空间中获得相同的比率。

<LinearLayout
        android:id="@+id/ll_for_thumbnail"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="3dp"
        android:orientation="horizontal"
        android:layout_marginRight="2dp" >

            <ImageView
            android:id="@+id/imageview_only_thumbnail_1"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="90dp"
            android:padding="5dp" />

            <ImageView
            android:id="@+id/imageview_only_thumbnail_2"
             android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="90dp"
            android:padding="5dp" />


            <ImageView
            android:id="@+id/imageview_only_thumbnail_3"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="90dp"
            android:padding="5dp" />

            <ImageView
            android:id="@+id/imageview_only_thumbnail_4"
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="90dp"
            android:padding="5dp" />

    </LinearLayout>