Android自定义适配器中的行显示不是全宽

时间:2014-06-09 18:25:39

标签: android listview row adapter

我有以下问题: 我创建了一个row.xml文件,以便在我的CustomAdapter中使用。此行将成为ListView的一部分。 这是一个xml文件:

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

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <TextView
            android:id="@+id/textUser"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="Slashdot"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/time"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:gravity="right"/>
    </LinearLayout>

    <TextView
        android:id="@+id/messageText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

</LinearLayout>

如果TextView messageText是几个没有填充整行(短于整行)的字符,则行显示不是完全可用的宽度。它给我带来了几个问题:外观上的问题,当我尝试选择某行时出现问题,如果messageText只有几个字符长,我必须准确选择可用的字符而不是仅仅“点击”整行。< / p>

提前致谢

更新: 行看起来像这样:


User1 01:01:01 一些Text1


User2 01:01:01 一些Text2


而不是:


User1 ---------------------------------------------- ----------------------------- 01:01:01 一些Text1


用户2 ---------------------------------------------- ------------------------------- 1时01分01秒 一些Text2


在第一种情况下,如果我想选择一些行,我需要完全“点击”“Some Text”。 我希望能够通过点击该行上的任意位置选择一行“点击”

1 个答案:

答案 0 :(得分:0)

将宽度指定给TextView的

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

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/textUser"
        android:layout_width="160dp"
        android:layout_height="wrap_content"
        android:text="Slashdot"
        android:textStyle="bold" />

    <TextView
        android:id="@+id/time"
        android:layout_width="160dp"
        android:layout_height="wrap_content"

        android:gravity="right"/>
</LinearLayout>

<TextView
    android:id="@+id/messageText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />

</LinearLayout>