5

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

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

4

5 回答 5

3

如果列表没有元素并且您没有添加适配器,只需添加以下内容:

mListView.setAdapter(null);

并且标题将出现。

于 2015-06-23T14:24:56.653 回答
1

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

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

在大多数情况下不需要添加标题,您可以在 xml 布局中添加项目。

于 2012-08-29T07:15:24.230 回答
0

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

于 2012-08-29T07:09:23.967 回答
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);
        }
    });
}
于 2017-11-29T13:02:35.257 回答
-3

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

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

于 2012-08-29T07:50:45.840 回答