Android: 搜索适配器时更改列表视图布局?

Android: Change listview layout when searching adapter?

我有一个带适配器的列表视图,当在列表视图中搜索 不存在的 项目时,我想显示一个用于添加新项目的布局,我想在列表视图中显示它以让用户更容易,而不是移动到另一个 window 或弹出对话框。

我可以这样做吗?

您可以通过检查列表视图的大小来完成此操作,如果大小为 0,则在您的适配器中 class 将行数设置为 1 并添加自定义视图以获取视图方法。从此视图中,您可以将数据添加到列表并调用 adapter.notifydatasetchange()。

添加与 Listview 具有相同宽度和高度的视图,将可见性设置为 INVISIBLE,在 onCreate() 中将数据加载到 listview 中,检查数据大小是否大于 0(零)然后隐藏该视图,如果数据大小是小于或等于 0(零)显示视图。视图应包含编辑文本和用于在列表视图中添加新行的按钮,添加数据后再次隐藏视图。

这里有两种方式

  • 手动:如果没有结果,则不更新适配器,而是将列表可见性设置为 GONE 并显示自定义视图以添加新视图。

  • 自动:列表视图有一个 属性 调用,emptyView 如果您将 "add" 布局设置为这个 emptyView 它会在您的适配器为空时显示