13

有没有办法在 aView上方插入另一个?例如,我想要一个位于顶部的标题栏 (TextView) ,并在列表滚动时滚动到视图之外。到目前为止,我可以想到两种方法,但两者都是黑客。ListListViewList


想法 #1 - 使用一个伪装成 ListView 的 LinearLayout。但问题是您无法利用适配器提供的“智能”加载/卸载视图。

<ScrollView>
    <LinearLayout>

        <TextView/>
        <LinearLayout
            android:orientation="vertical" />    # add ListItems here

    </LinearLayout>
</ScrollView>


想法 #2 - 使用 hacky ArrayAdaptergetView方法类似于:

@Override
public View getView(int position, View convertView, ViewGroup parent) {

    if(position == 0)
        View view = inflater.inflate(R.layout.special_list_item, null);
    else
        View view = inflater.inflate(R.layout.regular_list_item, null);

    ...

    return vi;
}
4

1 回答 1

41

简单的。只需将标题视图添加到您的ListView

TextView textView = new TextView(context);
textView.setText("Hello. I'm a header view");

listView.addHeaderView(textView);
于 2013-08-21T21:32:40.410 回答