始终在Android ListView中显示标题

时间:2012-08-29 07:03:49

标签: android listview header

我总是需要显示ListView标题,即使ListView没有项目。

有可能吗?或者更好地在ListView中添加标题作为第一项?

5 个答案:

答案 0 :(得分:3)

如果列表中没有元素且您没有添加适配器,只需添加:

mListView.setAdapter(null);

将出现标题。

答案 1 :(得分:1)

在onCreate的活动中您可以通过添加代码来添加标题:

View headerView = ((LayoutInflater)this.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.header_view, null, false);
        getListView().addHeaderView(headerView);

在大多数情况下,无需添加标题,您只需在xml布局中添加项目。

答案 2 :(得分:0)

如果您使用http://viewpagerindicator.com/ 并在listView没有项目时设置getListView().setEmptyView(emptyView); //

答案 3 :(得分:0)

我的解决方案是手动切换空视图。

/**
 * Custom empty view handling because we don't want the
 * list to be hidden when the empty view is displayed,
 * since the list must always display the header.
 */
private void toggleEmptyView(Adapter adapter)
{
    final View emptyView = findViewById(R.id.empty_view);
    adapter.registerDataSetObserver(new DataSetObserver() {
        @Override
        public void onChanged() {
            emptyView.setVisibility(adapter.getCount() == 0 ? View.VISIBLE : View.GONE);
        }
    });
}

答案 4 :(得分:-3)

无论您的ListView是否包含元素,标题始终可见。如果ListView中有元素,标题将与它们一起滚动,否则它将始终位于顶部。

有关如何将标题视图添加到ListView,您可以参考用户提供的其他答案。