Android通用搜索功能似乎有很好的系统支持,除了语音搜索之外,还可以显示搜索建议,如最近的查询建议和自定义建议。
此框架要求声明搜索活动。该活动以意向获取查询,并将搜索结果呈现给列表视图。
我对此有两个问题:
1-我想在当前活动中进行搜索(我在应用程序栏上有一个搜索视图)。那么,该活动是否会重新启动?那会很奇怪。我应该发送到不可见的活动并获取结果吗?这可能吗?
2-我可以使用RecyclerView而不是ListView吗?我以为ListView被弃用了,取而代之的是RecyclerView。
我想在当前活动中执行搜索(我在应用程序栏上有一个搜索视图)。那么,该活动是否会重新启动?
否(如果您实现了搜索权限)
我可以使用RecyclerView而不是ListView吗?我认为ListView被弃用,取而代之的是RecyclerView。
是的,您可以使用< code > recycle view
基本上,要在< code > recycle view 中实现搜索,您必须在适配器类中创建一个公共方法,带有数据类的< code>List参数,如下所示:
public void setFilter(ArrayList<Items> ItemList){
Items = new ArrayList<>();
Items.addAll(ItemList);
notifyDataSetChanged();
//Items will be your custom data class
}
然后在您的Activity
中,在实现SearchView后,在要实现搜索的位置执行搜索。OnQueryTextListener接口和重写onQueryTextSubmit中的方法
@Override
public boolean onQueryTextChange(String newText) {
newText = newText.toLowerCase();
ArrayList<Items> ItemArrayList = new ArrayList<>();
for(Items Item : Items) //Items your data class containg data provided to adapter
{
String name = Item.getTitle().toLowerCase(); // getTitle or getName dependes what you have in Item class
if(name.contains(newText))
ItemArrayList.add(Item);
}
adapter.setFilter(ItemArrayList); // adapter will be instance of adapter class
return true;
}
Navicat 提供筛选功能,让你在连接窗格、对象列表窗格、模型设计器和其他树状结构搜索对象。 在连接窗格或其他树状结构,点击该窗格或树来聚焦并直接筛选字符串。如果连接窗格中的连接已打开,筛选也会同时应用到连接中的数据库对象。 在对象列表窗格,点击 Navicat 主窗口的 ,并在搜索框里输入筛选字符串。在模型设计窗口,简单地在搜索框里输入筛选字符串。 你可以移除筛选,只需删除筛选字符串。
“对象筛选”能让你在 Navicat Cloud 筛选模型,在视图设计器中筛选树状结构、以及在画布中筛选包含筛选字符串的表、实体或视图。 只需在“搜索”文本框中指定一个筛选字符串。若要移除筛选,只需删除筛选字符串。
“对象筛选”能让你在 Navicat Cloud 筛选模型,以及在画布中筛选包含筛选字符串的表、实体或视图。 只需在“搜索”文本框中指定一个筛选字符串。若要移除筛选,只需删除筛选字符串。 “树筛选”能让你在浏览器或檢视图设计器中筛选包含筛选字符串的树状结构。 点击树来聚焦并直接指定筛选字符串。若要移除筛选,只需删除筛选字符串。
Navicat 提供筛选功能,让你在导航窗格、对象选项卡、模型设计器和其他树状结构搜索对象。 在导航窗格或其他树状结构,点击该窗格或树来聚焦并直接输入搜索字符串。如果导航窗格中的连接已打开,筛选也会同时应用到连接中的数据库对象。 在对象选项卡,点击 ,并在“搜索”文本框里输入搜索字符串。 在模型设计器窗口,简单地在“搜索”文本框里输入搜索字符串。 你只需删除搜索字符串就可移除筛选。
Navicat 提供筛选功能,让你在导航窗格、对象选项卡、模型设计器和其他树状结构搜索对象。 简单地在“搜索”文本框里直接输入搜索字符串。如果导航窗格中的连接已打开,筛选也会同时应用到连接中的数据库对象。 你只需删除搜索字符串就可移除筛选。
Navicat 提供筛选功能,让你在导航窗格、对象选项卡、模型设计器和其他树状结构搜索对象。 简单地在“搜索”文本框里直接输入搜索字符串。如果导航窗格中的连接已打开,筛选也会同时应用到连接中的数据库对象。 你只需删除搜索字符串就可移除筛选。