Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/331.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 不可见的listview项目行_Java_Android - Fatal编程技术网

Java 不可见的listview项目行

Java 不可见的listview项目行,java,android,Java,Android,我想在listView中实现一个搜索文本 我从服务器加载listView项 目前,每次用户在searchText中输入内容时,我都会删除listView中的所有项目,并将它们再次添加到listView中(如果它们包含用户输入的字符串) 但是,要删除整个listView,然后重新开始重新加载要列出的所有项目,需要花费很多时间 因此,我想在listView中循环并隐藏不匹配的行,这可能吗?(有点像View.GONE) 例如,我希望在listView中不可见第k个项目行 此外,我还想将此项目行再次更改

我想在listView中实现一个搜索文本

我从服务器加载listView项

目前,每次用户在searchText中输入内容时,我都会删除listView中的所有项目,并将它们再次添加到listView中(如果它们包含用户输入的字符串)

但是,要删除整个listView,然后重新开始重新加载要列出的所有项目,需要花费很多时间

因此,我想在listView中循环并隐藏不匹配的行,这可能吗?(有点像View.GONE)

例如,我希望在listView中不可见第k个项目行

此外,我还想将此项目行再次更改为可见


非常感谢

您不需要使视图不可见。在顶部有一个编辑文本。然后为listview设置过滤器,并相应地在listview中显示项目。调用notifydatasetchanged方法以刷新listview

listview上的搜索示例。

在下面的链接中可以找到带有自定义筛选器的listview示例


如何保存从服务器获得的对象的本地副本并更新适配器?。我也会维护它,但是如果我在listView中有大约100个项目,则需要很长时间才能删除所有项目,并且当用户不想搜索(搜索文本为空)时,可以再次将它们添加到listView中,我可以只看特定的行吗?我可以使用:viewItem=listView.getChildAt(位置);viewItem.SetVisibility(View.GONE)??谢谢你的回答,但是我没有扩展ArrayAdapter,我是entends BaseAdapter,因此我不能使用filter方法…@AdirRahamim你可以扩展ArrayAdapter而不是BaseAdapter,然后在listview上搜索。嗨,在ArrayAdapter中,我无法创建自定义构造函数,这就是为什么我选择扩展BaseAdapter当我尝试实现一个构造函数时,它会显示一个错误:“隐式超级构造函数ArrayAdapter()未定义。必须显式调用另一个构造函数”添加超级(参数);在适配器构造函数中。必须是第一个语句