5

我正在开发以下屏幕

在此处输入图像描述

相邻的四个框是按钮。单击按钮时,我正在更改列表视图的适配器。

由于列表视图上方的内容占用了大量空间,我将整个内容作为标题并通过代码添加。

   myPollsList = (ListView) findViewById(R.id.listArea);
myPollsList.addHeaderView(getLayoutInflater().inflate(R.layout.profile_listview_header, null));

现在我想在列表为空时显示一些视图。但如果我这样做,那么标题也会消失。

我在 Activity 而不是 ListActivity 中使用它。即使列表为空,也可以显示标题的任何建议或解决方法?

编辑:请参阅我之前的问题ListView not getting space to show content on small screenshots。这是有人建议我通过将其作为标题来解决问题的地方

4

4 回答 4

28

我为这个问题找到了一个简单的解决方案。如果列表没有元素并且您没有添加适配器,只需添加以下内容:

mListView.setAdapter(null);

并且标题将出现。这比在列表中添加空/假项目更容易。

于 2015-06-23T14:21:55.477 回答
12

所以这就是我解决它的方法。我有一个连接到列表视图的自定义适配器。当它发现要显示的项目为零时。它会将一个假的空视图作为一个项目添加到列表中。

于 2013-08-09T10:19:48.230 回答
2

当 ListView 中没有项目时,也许你会喜欢这个Android addHeaderView 消失

覆盖/子类您的适配器以从 isEmpty() 返回 false

于 2014-10-28T08:40:06.753 回答
0

Don't use top layouts of button as header for list view.

So to adjust UI without using list header use weights.

Give parent Linear layout weight sum as 4 and 1, 1 to top Layouts and 2 for list view.

于 2013-08-08T13:33:22.367 回答