Android 如何显示使用自定义适配器填充数据的空ListView
大家好,安卓开发者 我有一个listview,它最初填充了一些在onCreate方法中不是空的列表。当用户在搜索框中输入时,listview会得到更新。我使用自定义适配器来实现这一点。 一切正常Android 如何显示使用自定义适配器填充数据的空ListView,android,android-listview,Android,Android Listview,大家好,安卓开发者 我有一个listview,它最初填充了一些在onCreate方法中不是空的列表。当用户在搜索框中输入时,listview会得到更新。我使用自定义适配器来实现这一点。 一切正常 但是我想先显示空的listview,然后在搜索框中显示为用户类型,listview应该使用搜索查询进行更新。就像搜索界面一样。如何执行此操作?有什么帮助吗?您可以为适配器设置空值,然后它将向用户显示一个空列表 分配给列表的空间将保持不变 yourList.setAdapter(null); 只需使列表
但是我想先显示空的listview,然后在搜索框中显示为用户类型,listview应该使用搜索查询进行更新。就像搜索界面一样。如何执行此操作?有什么帮助吗?您可以为适配器设置空值,然后它将向用户显示一个空列表 分配给列表的空间将保持不变
yourList.setAdapter(null);
只需使列表在xml中不可见即可:
<ListView
android:id="@+id/somelist"
adnroid:visibility="gone" />
不要为列表视图设置适配器当您单击搜索时,您可以设置适配器或使适配器可见或不可见。您想要的是使列表视图在xml中不可见,并在更新列表视图的搜索框事件中设置它可见。您的解决方案似乎有效,我将listview隐藏在xml文件中。但我在PostTextChanged方法中使用TextWatcher执行搜索,因此当用户键入listview时,会填充搜索结果,因此我无法使listview在每次文本更改操作中都可见,因为它会像以前一样显示整个列表。您可以使用IF检查包装setVisibility调用,例如:IF!somelist.isVisible{//set visible}当我将空列表传递给setAdapter时,它会将错误显示为NullPointerException在获取自定义适配器的getCount方法中的list.size时,您必须启动列表,如list=findviewbydr.id.listid;然后设置空适配器
somelist.setVisibility(View.VISIBLE);