向ListView添加标题 - 我为什么要给它充气呢?

时间:2017-03-05 18:03:33

标签: android listview

我想在我的应用程序中为我的一个ListView添加一个标题,因为在我用Google搜索之前我还没有这样做。
现在我的第一种方法是在ListView之前添加一个TextView,就像这样:

<TextView
    android:id="@+id/textView1"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#98cfc8"
    android:gravity="center_horizontal"
    android:text="HARD" />

它有效,我现在在我的ListView上有一个标题,但是在一个教程中,我读到了标题,我写的应该在我用XML创建它之后给它充气:

LayoutInflater inflater = getLayoutInflater();
    ViewGroup header = (ViewGroup) inflater.inflate(R.layout.header, listView,
            false);
    ViewGroup footer = (ViewGroup) inflater.inflate(R.layout.footer, listView,
            false);
    listView.addHeaderView(header, null, false);
    listView.addFooterView(footer, null, false);

与我目前的做法相比,什么是通货膨胀?它有什么变化?

3 个答案:

答案 0 :(得分:2)

  

它有效,我现在在ListView上有一个标题

实际上,这不是标题。它只是列表上方的一个视图。

listView.addHeaderView是将标题作为listview的一部分的正确方法。

Inflating是将XML文件转换为View对象的过程

答案 1 :(得分:0)

问题是你必须将视图扩展(渲染)到&#34;允许&#34; android在屏幕上显示你的员工

有时当使用onCreate()方法时,不需要这样做,因为它已经由系统本身完成了

答案 2 :(得分:0)

在您的方法中,您创建的标题不会滚动。它将始终显示在列表上方。

使用addHeaderView(),它将成为列表的一部分,因此它可以与其他列表项一起滚动和关闭屏幕。