ListView标头隐藏

时间:2013-09-05 07:37:12

标签: android android-listview

我是android的初学者。

我尝试将标题添加到ListView,但视图是隐藏。

标题视图 - test.xml

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

    <TextView android:layout_height="wrap_content"
              android:padding="50dp"
              android:layout_width="wrap_content"
              android:text="afassa"/>


    <View android:layout_height="match_parent"
          android:layout_width="2dp"
          android:id="@+id/line"
          android:layout_marginLeft="20dp"
          android:background="#ffffff"/>
</RelativeLayout>

main.xml中

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:id="@+id/ll"
        >
    <ListView android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:id="@+id/lv"/>
</FrameLayout>

添加标题

        ListView lv = (ListView) findViewById(R.id.lv);
        View v = View.inflate(this,R.layout.test,null);
        lv.addHeaderView(v);
        lv.setAdapter(aa);

但用“@ + id / line”查看隐藏在标题中为什么?

4 个答案:

答案 0 :(得分:0)

这可能是因为您在test.xml的textView中进行了50dp填充。 此外,你没有说明视图在相对布局中的位置,因此该行在textview上绘制。你设置的颜色是白色,线的宽度是2dp。你的test.xl应该是这样的:

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

<TextView android:layout_height="wrap_content"
          android:layout_width="wrap_content"
          android:text="afassa"
          android:id="@+id/head"/>


<View android:layout_height="2dp"
      android:layout_width="match_parent"
      android:id="@+id/line"
      android:background="#000000"
      android:layout_below="@id/head"/></RelativeLayout>

希望现在有效。

答案 1 :(得分:0)

试试这个

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

    <TextView android:layout_height="wrap_content"
             android:layout_width="wrap_content"
              android:text="afassa"
              android:padding="50dp"
              android:id="@+id/text4"/>


    <View android:layout_height="2dp"
          android:layout_width="match_parent"
          android:id="@+id/line"
        android:layout_below="@+id/text4"
          android:background="@android:color/white"/>
</RelativeLayout>

答案 2 :(得分:0)

你可以直接在ListView上面放置TextView,无需添加标题,它看起来像一个标题

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/ll" >

<TextView android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:text="header"
    android:padding="50dp"
    android:id="@+id/text4"/>

    <View android:layout_height="2dp"
        android:layout_width="match_parent"
        android:id="@+id/line"
        android:layout_below="@+id/text4"
        android:background="@android:color/white"/>

    <ListView android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/lv"/>

</FrameLayout>

答案 3 :(得分:0)

您需要设置标题视图的格式 - test.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="wrap_content"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="afassa" />

    <View
        android:id="@+id/line"
        android:layout_width="fill_parent"
        android:layout_height="1dp"
        android:background="#ffffff" />

</LinearLayout>