【问题标题】:listview shows nothing and hide datalistview 不显示任何内容并隐藏数据
【发布时间】:2023-04-09 22:15:01
【问题描述】:

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

【问题讨论】:

    标签: android xml android-layout listview


    【解决方案1】:

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

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

    考虑你的第二个 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

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

    对于第一个孩子,我们只能指定相对于其父级的位置规则。
    如果我们没有定义任何相对于它的父级的位置规则,它将默认放置在左上角。

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

    对于这个孩子,我们可以指定相对于它的父级或相对于现有视图A的位置规则。
    我们无法指定任何与尚未定义的视图C 相关的位置规则。

    在一个现实世界的例子中,假设我正在为合影排好队,首先我告诉吉姆站在镜头的中心。如果我然后说“Ok Anita,你站在 Liz 的右边”,你要么只是搞笑地看着我,要么说“但我还不知道 Liz 应该站在哪里!”。

    【讨论】:

      【解决方案2】:

      我相信您的问题可能是因为您试图显示的项目多于屏幕上的空间。为了消除这种影响,您可以使用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 它对我不起作用。我水平和垂直都试过了,但我仍然得到空屏幕。
      猜你喜欢
      • 1970-01-01
      • 2015-05-11
      • 2022-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-08
      相关资源
      最近更新 更多