如何将搜索对话框添加到 Android 应用
How to add Search Dialog to an Android app
这是我的问题。我需要将 搜索对话框 添加到 Android 应用程序。我找到了添加搜索视图组件的方法,但没有找到搜索对话框。我从 Android 开发人员文档中知道我应该使用 onSearchRequested()
来让它出现,但我不太明白那是什么意思。搜索对话框是否应该绑定到我自己的将调用此方法的 UI 组件,或者我是否遗漏了什么?我还没有读完所有关于搜索的文档,但我希望有人能指出我错过了什么重要的地方。
我对Android开发不是很了解,只会做几个小项目。在创建移动应用程序时,我更像是一名 Flutter 开发人员,但这次我没有这个选择。
下面是 Android 开发人员文档显示为搜索对话框的屏幕截图以及与搜索视图的比较。
基于documentation,调用Search Dialog
的步骤是:
创建一个 Xml 文件(您已经为 search widget
做了)
声明一个可搜索的 activity:创建一个活动并通知 Manifest
它获得了搜索结果(你也这样做了)
3. 在 Manifest
处贴标一些其他的 activity(例如 MainActivity)以便能够调用搜索对话。在 <activity>
标签内添加此行:
<meta-data android:name="android.app.default_searchable"
android:value=".SearchableActivity" />
(android:value
是获取搜索结果的 Activity 的名称,您在第 2 步中定义了它)
4. 在那 Activity,创建一个搜索按钮等并像这样调用 Serach Dialog
:
onSearchRequested();
其实很简单:)
存储在intent.getStringExtra(SearchManager.QUERY)
中的搜索词作为字符串,您在SearchableActivity
class的onCreate()
处获取。从这一点开始,您应该处理搜索查询和结果逻辑...
这是我的问题。我需要将 搜索对话框 添加到 Android 应用程序。我找到了添加搜索视图组件的方法,但没有找到搜索对话框。我从 Android 开发人员文档中知道我应该使用 onSearchRequested()
来让它出现,但我不太明白那是什么意思。搜索对话框是否应该绑定到我自己的将调用此方法的 UI 组件,或者我是否遗漏了什么?我还没有读完所有关于搜索的文档,但我希望有人能指出我错过了什么重要的地方。
我对Android开发不是很了解,只会做几个小项目。在创建移动应用程序时,我更像是一名 Flutter 开发人员,但这次我没有这个选择。
下面是 Android 开发人员文档显示为搜索对话框的屏幕截图以及与搜索视图的比较。
基于documentation,调用Search Dialog
的步骤是:
创建一个 Xml 文件(您已经为
search widget
做了)声明一个可搜索的 activity:创建一个活动并通知
Manifest
它获得了搜索结果(你也这样做了)
3. 在 Manifest
处贴标一些其他的 activity(例如 MainActivity)以便能够调用搜索对话。在 <activity>
标签内添加此行:
<meta-data android:name="android.app.default_searchable"
android:value=".SearchableActivity" />
(android:value
是获取搜索结果的 Activity 的名称,您在第 2 步中定义了它)
4. 在那 Activity,创建一个搜索按钮等并像这样调用 Serach Dialog
:
onSearchRequested();
其实很简单:)
存储在intent.getStringExtra(SearchManager.QUERY)
中的搜索词作为字符串,您在SearchableActivity
class的onCreate()
处获取。从这一点开始,您应该处理搜索查询和结果逻辑...