将分隔符插入listview项时出现问题

时间:2011-08-06 17:41:45

标签: java android listview

我正在制作一些列表视图。现在我插入一些小图片来分隔列。 (截图:http://i.imgur.com/U9OpS.png)我的问题在这里,它们应该在显示器的同一点,但正如你所看到的那样。该项目的分隔符不完全适合..我的布局: 对于列表视图:

<?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="wrap_content" >
     <TableLayout
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:stretchColumns="0">
     <TableRow>
     <TextView
        android:layout_width="0px"
        android:layout_height="wrap_content"
        android:layout_weight="5"
        android:text="@string/id"
        android:gravity="center"/>
    <ImageView
        android:layout_height="fill_parent"
        android:layout_width="0px"
        android:layout_weight="1"
        android:src="@drawable/seperator" />
     <TextView
        android:layout_width="0px"
        android:layout_height="wrap_content"
        android:layout_weight="14"
        android:text="@string/name"
        android:gravity="center"/>
    <ImageView
        android:layout_height="fill_parent"
        android:layout_width="0px"
        android:layout_weight="1"
        android:src="@drawable/seperator" />
     <TextView 
        android:layout_height="wrap_content"  
        android:layout_width="0px"
        android:layout_weight="14" 
        android:text="@string/amount"
        android:gravity="center" />
    <ImageView
        android:layout_height="fill_parent"
        android:layout_width="0px"
        android:layout_weight="1"
        android:src="@drawable/seperator" />
     <TextView
        android:layout_width="0px"
        android:layout_height="wrap_content"
        android:layout_weight="8"
        android:text="@string/unit"
        android:gravity="center"/>
        </TableRow>
        </TableLayout>
        <ListView
            android:id="@android:id/list"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" />
    </LinearLayout>

以及单个项目的布局:

<?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="fill_parent"
  android:stretchColumns="0">
    <TextView
        android:id="@+id/lId"
        android:layout_width="0px"
        android:layout_height="wrap_content"
        android:layout_weight="5"
        android:gravity="right"/>
    <ImageView
        android:layout_height="fill_parent"
        android:layout_width="0px"
        android:layout_weight="1"
        android:src="@drawable/seperator" />
    <TextView
        android:id="@+id/lname"
        android:layout_width="0px"
        android:layout_height="wrap_content"
        android:layout_weight="14"
        android:gravity="left"/>
    <ImageView
        android:layout_height="fill_parent"
        android:layout_width="0px"
        android:layout_weight="1"
        android:src="@drawable/seperator" />
     <TextView
        android:id="@+id/lamount"
        android:layout_width="0px"
        android:layout_height="wrap_content"
        android:layout_weight="14"
        android:gravity="right"/>
    <ImageView
        android:layout_height="fill_parent"
        android:layout_width="0px"
        android:layout_weight="1"
        android:src="@drawable/seperator" />
     <TextView
        android:id="@+id/lunit"
        android:layout_width="0px"
        android:layout_height="wrap_content"
        android:layout_weight="8"
        android:gravity="left"
        android:layout_marginRight="5dp"/>

</LinearLayout>

关于如何解决这个问题的任何解决方案?

1 个答案:

答案 0 :(得分:0)

您必须为列使用固定宽度才能使所有内容正确排列。

修改

...编程

// Grab the layout
LayoutParams l = ((View)findViewById(R.id.xxx)).getLayoutParams();

// Manipulate height/width
// ...

// Set the new values
((View)findViewById(R.id.xxx)).setLayoutParams(new LayoutParams(...));