listview with table layout

Radhey picture Radhey · Nov 14, 2013 · Viewed 16.5k times · Source

i am developing one activity in which i use list view with table lay out . I want to display images and text in that list view ,but the problem is that the images are display slightly out of list order like

 img1        text1                              img1    text1
  img2       text2     and i want this          img2    text2
 img3        text3                              img3    text3
 img4        text4                              img4    text4
 img5        text5                              img5    text5

this way.. so any idea about the property of list view or image view to set it in order properly ? then plz comment...

list_row.xml

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:background="#ffffff"
    android:padding="6dip" >

    <TableLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_weight="1"
        android:background="#ffffff"
        android:stretchColumns="*" >

        <TableRow>

            <ImageView
                android:id="@+id/icon"
                android:layout_gravity="left"
                android:background="#ffffff"
                android:padding="2dip" />

            <TextView
                android:id="@+id/description"
                android:background="#ffffff"
                android:padding="2dip"
                android:singleLine="true"
                android:textColor="#000000"
                android:textSize="12sp" />
        </TableRow>
    </TableLayout>

</LinearLayout>

main.xml

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="#ffffff">



    <ListView
        android:id="@+id/android:list"
        android:background="#ffffff"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:dividerHeight="1dip"/>
</LinearLayout>

Answer

Hariharan picture Hariharan · Nov 14, 2013

Try this..

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="?android:attr/listPreferredItemHeight"
    android:background="#ffffff"
    android:orientation="horizontal"
    android:padding="6dip" >

            <ImageView
                android:id="@+id/icon"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="0.5"
                android:src="@drawable/ic_launcher"
                android:layout_gravity="center"
                android:background="#ffffff" />

            <TextView
                android:id="@+id/description"
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:background="#ffffff"
                android:layout_weight="0.5"
                android:singleLine="true"
                android:text="text"
                android:layout_gravity="center"
                android:gravity="center"
                android:textColor="#000000"
                android:textSize="12sp" />

</LinearLayout>