Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.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
Android 在“新建片段/浮动”对话框中显示搜索视图(片段中)中的搜索结果_Android_Android Fragments_Dialog_Searchview_Searchable - Fatal编程技术网

Android 在“新建片段/浮动”对话框中显示搜索视图(片段中)中的搜索结果

Android 在“新建片段/浮动”对话框中显示搜索视图(片段中)中的搜索结果,android,android-fragments,dialog,searchview,searchable,Android,Android Fragments,Dialog,Searchview,Searchable,我有一个带有MainActivity&Navigation抽屉的应用程序。我在导航中有一个朋友选项。抽屉,在选择时显示一个好友片段,其中显示好友列表及其其他详细信息。这个片段(support.v4.app.fragment)在工具栏上有一个SearchView(搜索菜单),它从朋友列表中搜索特定的朋友。我使用了: SearchView sv = new SearchView(((MainActivity) getActivity()).getSupportActionBar().getTheme

我有一个带有MainActivity&Navigation抽屉的应用程序。我在导航中有一个朋友选项。抽屉,在选择时显示一个好友片段,其中显示好友列表及其其他详细信息。这个片段(support.v4.app.fragment)在工具栏上有一个SearchView(搜索菜单),它从朋友列表中搜索特定的朋友。我使用了:

SearchView sv = new SearchView(((MainActivity) getActivity()).getSupportActionBar().getThemedContext());

MenuItemCompat.setShowAsAction(item, MenuItemCompat.SHOW_AS_ACTION_COLLAPSE_ACTION_VIEW | MenuItemCompat.SHOW_AS_ACTION_IF_ROOM);
MenuItemCompat.setActionView(item, sv);

sv.setOnQueryTextListener(this);
我在搜索朋友的片段中实现了onQueryTextChange
。(来自用于填充列表的本地Arraylist)我通过更新相同的列表视图并通知适配器来显示搜索结果。现在使用这段代码,我想在用户在搜索键中键入时,在一个新的活动/片段中显示搜索结果。但是为了做到这一点,我需要将我的整个朋友列表(可能在10000s中)从我的片段传递到我希望避免的可搜索活动/片段

你知道我怎样才能做到这一点吗。如果我能够在FriendsFragment上浮动的对话框中显示结果,我也可以。我有点不愿意在数据库中搜索,因为我已经从数据库中填充了Arraylist。所以,我想在Arraylist中搜索


任何帮助都将不胜感激。

首先:为什么要将10000项加载到ArrayList中?用户是否每次都滚动浏览整个列表?不应该分页和/或在无限滚动条中吗?第二,当你说数据库时,你是指SQLite吗?如果是这样的话,如果使用WHERE子句过滤器运行查询,那么返回的搜索结果应该会显著减少,因此重新加载少量结果应该不会那么糟糕。或者这些假设对您正在做的事情不正确吗?第一:为什么要将10000项加载到ArrayList中?用户是否每次都滚动浏览整个列表?不应该分页和/或在无限滚动条中吗?第二,当你说数据库时,你是指SQLite吗?如果是这样的话,如果使用WHERE子句过滤器运行查询,那么返回的搜索结果应该会显著减少,因此重新加载少量结果应该不会那么糟糕。或者这些假设对你正在做的事情不正确?