小编Eug*_*yuk的帖子

是否可以仅使用搜索窗口小部件(SearchView)传递搜索上下文数据?

根据官方文档,有两种方法可以提供搜索界面:使用搜索对话框或SearchView小部件.我想注意使用这两种方式传递搜索上下文数据.

所以,文档说:

..您可以提供系统发送给您的可搜索活动的意图中的其他数据.您可以传递APP_DATA包中的附加数据,该包含在ACTION_SEARCH目的中.

要将此类数据传递给可搜索的活动,请覆盖用户可以执行搜索的活动的onSearchRequested()方法,使用其他数据创建Bundle,并调用startSearch()以激活搜索对话框.例如:

@Override
public boolean onSearchRequested() {
     Bundle appData = new Bundle();
     appData.putBoolean(SearchableActivity.JARGON, true);
     startSearch(null, false, appData, false);
     return true;
}
Run Code Online (Sandbox Code Playgroud)

..一旦用户提交查询,它就会与您添加的数据一起发送到您的可搜索活动.您可以从APP_DATA Bundle中提取额外数据以优化搜索.例如:

Bundle appData = getIntent().getBundleExtra(SearchManager.APP_DATA);
if (appData != null) {
    boolean jargon = appData.getBoolean(SearchableActivity.JARGON);
}
Run Code Online (Sandbox Code Playgroud)

这是指搜索对话框.那么搜索小部件呢?

是否可以SearchView仅使用小部件传递搜索上下文数据?

希望,有人可以给出明确的解释和/或建议另一种或类似的方式来实现目标.

谢谢!

android android-intent android-searchmanager searchview search-dialog

2
推荐指数
1
解决办法
1141
查看次数