列表视图不显示任何内容并隐藏数据

listview shows nothing and hide data

我想在列表中水平显示七个文本视图和两个按钮。如果添加更多控件然后它不显示任何内容,我的列表适用于五个文本视图。我的代码是正确的 我试图更改 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="match_parent"
 android:orientation="vertical" >

 <!-- Third header line and column headings -->
 <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:orientation="horizontal"
    android:background="#A1E9FF">

    <TextView android:id="@+id/column_header1"
      android:layout_width="0dp"
      android:layout_height="wrap_content"
      android:layout_weight="1"
        />
    <TextView android:id="@+id/column_header2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        />
 </LinearLayout>  

 <ListView
    android:id="@+id/listView1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" 
    android:divider="#b5b5b5"
    android:dividerHeight="2dp">
</ListView>

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

 <TextView
    android:id="@+id/plan_date"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="21dp"
    android:layout_toRightOf="@+id/Plan_no"
    android:text="plan date "
    android:textColor="#000"
    android:textSize="15dp" />

 <TextView
    android:id="@+id/morn_even"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="31dp"
    android:layout_toRightOf="@+id/doc_code"
    android:text="morn_even"
    android:textColor="#000"
    android:textSize="15dp" />

 <Button
    android:id="@+id/button1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginRight="12dp"
    android:layout_toLeftOf="@+id/button2"
    android:text="Visited"
    android:textColor="#000" />

<TextView
    android:id="@+id/ff_code"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="30dp"
    android:layout_toRightOf="@+id/morn_even"
    android:text="ff code"
    android:textColor="#000"
    android:textSize="15dp" />

<TextView
    android:id="@+id/speciality"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignBottom="@+id/ff_code"
    android:layout_marginLeft="22dp"
    android:layout_toRightOf="@+id/ff_code"
    android:text="speciality"
     android:textColor="#000"
    android:textSize="15dp"/>

<TextView
    android:id="@+id/mon"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="30dp"
    android:layout_toRightOf="@+id/plan_date"
    android:text="mon"
    android:textColor="#000"
    android:textSize="15dp" />

<TextView
    android:id="@+id/Plan_no"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_alignTop="@+id/textView1"
    android:layout_marginLeft="17dp"
    android:text="plan no"
    android:textColor="#000"
    android:textSize="15dp" />

<TextView
    android:id="@+id/doc_code"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="26dp"
    android:layout_toRightOf="@+id/mon"
    android:text="doc_code"
    android:textColor="#000"
    android:textSize="15dp" />

<Button
    android:id="@+id/button2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignTop="@+id/textView1"
    android:text="Not Visited"
    android:textColor="#000" />

 </RelativeLayout>

我认为您的问题可能是因为您试图显示的项目多于屏幕中 space 的项目。为了抵消这种影响,您可以使用 HorizontalScrollView 让您水平滚动以查看所有视图。

此外,orientation 属性在 RelativeLayout 上不起作用,我建议您使用 LinearLayout

<?xml version="1.0" encoding="utf-8"?>

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">

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

    <TextView
        android:id="@+id/plan_date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="21dp"
        android:layout_toRightOf="@+id/Plan_no"
        android:text="plan date "
        android:textColor="#000"
        android:textSize="15dp" />

    <TextView
        android:id="@+id/morn_even"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="31dp"
        android:layout_toRightOf="@+id/doc_code"
        android:text="morn_even"
        android:textColor="#000"
        android:textSize="15dp" />

    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginRight="12dp"
        android:layout_toLeftOf="@+id/button2"
        android:text="Visited"
        android:textColor="#000" />

    <TextView
        android:id="@+id/ff_code"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="30dp"
        android:layout_toRightOf="@+id/morn_even"
        android:text="ff code"
        android:textColor="#000"
        android:textSize="15dp" />

    <TextView
        android:id="@+id/speciality"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/ff_code"
        android:layout_marginLeft="22dp"
        android:layout_toRightOf="@+id/ff_code"
        android:text="speciality"
        android:textColor="#000"
        android:textSize="15dp"/>

    <TextView
        android:id="@+id/mon"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="30dp"
        android:layout_toRightOf="@+id/plan_date"
        android:text="mon"
        android:textColor="#000"
        android:textSize="15dp" />

    <TextView
        android:id="@+id/Plan_no"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignTop="@+id/textView1"
        android:layout_marginLeft="17dp"
        android:text="plan no"
        android:textColor="#000"
        android:textSize="15dp" />

    <TextView
        android:id="@+id/doc_code"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginLeft="26dp"
        android:layout_toRightOf="@+id/mon"
        android:text="doc_code"
        android:textColor="#000"
        android:textSize="15dp" />

    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignTop="@+id/textView1"
        android:text="Not Visited"
        android:textColor="#000" />

</LinearLayout>
</HorizontalScrollView>

PS:我懒得删除 RelativeLayout 特定属性,例如:alignTop、alignParentRight 等。所以请随意删除这些属性。

正如 Torque203 指出的那样,orientation 属性对于 RelativeLayout 无效。

您的 RelativeLayout 未按预期工作的另一个原因是 顺序很重要 当您定义您的 child 观看次数。
RelativeLayout 膨胀时,XML 从上到下读取,并且新的 child 视图只能指定为相对于已定义的其他 child 视图在它之前。

考虑你的第二个 TextView:

<TextView
    android:id="@+id/morn_even"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_marginLeft="31dp"
    android:layout_toRightOf="@+id/doc_code"
    android:text="morn_even"
    android:textColor="#000"
    android:textSize="15dp" />

您指定此视图是 "toRightOf" 视图 doc_code,但是 RelativeLayout 还不知道有关此 doc_code 视图的任何信息,因为您不知道直到接近 XML 的末尾才定义它。

虽然你并不孤单。很多人在刚开始玩 RelativeLayout.

时会误解这一点

要理解的关键是 RelativeLayout 将仅实施锚定到位置已定义和固定的视图的相对位置规则。

例如考虑一个新的空RelativeLayout

  • 我们为其添加一个新的 child 视图 A

对于第一个child,我们只能指定相对于它的位置规则parent。
如果我们不定义任何相对于它的位置规则parent,它会默认放在左上角。

  • 我们添加了一个新的 child 视图 B

对于这个 child 我们可以指定相对于它 parent 或相对于现有视图 A.
的位置规则 我们不能指定任何相对于尚未定义的视图 C 的位置规则。

举一个现实世界的例子,假设我正在让人们排队合影,首先我告诉吉姆站在镜头的中央。如果我然后说 "Ok Anita, you stand to the right of Liz" 你要么只是用有趣的眼光看着我,要么说 "But I don't know where Liz is meant to be standing yet!".