【问题标题】:How to apply the search intent filter and android.app.searchable to all activities?如何将搜索意图过滤器和 android.app.searchable 应用于所有活动?
【发布时间】:2014-06-14 07:29:12
【问题描述】:

我的 android 应用中有很多活动,需要使用 SearchView 实现 ActionBar。

我最初只是在我的 SearchActivity 中添加了以下几行:

 <activity android:name=".activity.SearchActivity" android:launchMode="singleTop">
        <intent-filter>
            <action android:name="android.intent.action.SEARCH" />
        </intent-filter>
        <meta-data android:name="android.app.searchable" android:resource="@xml/searchable"/>
  </activity>

但是,当从AnotherActivity1 调用时,searchManager.getSearchableInfo(getComponentName());onCreateOptionsMenu 中返回了null

所以我还将intent-filterandroid.app.searchable 元数据添加到AnotherActivity1,这适用于AnotherActivity1 SearchView。

但是我有很多这样的活动 - 我应该只是为所有这些活动复制粘贴这个 XML sn-p 还是我缺少一些更优雅的解决方案?

【问题讨论】:

    标签: android android-intent searchview android-searchmanager


    【解决方案1】:

    嗯,我想我自己想通了。

    使用

    searchManager.getSearchableInfo(new ComponentName(this, SearchActivity.class));
    

    而不是

    searchManager.getSearchableInfo(getComponentName());
    

    然后我必须将intent-filtermeta-data 仅应用于SearchActivity

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多