我正在尝试实现两种不同的可搜索 Activity ,一种用于蜂窝(带有搜索小部件),另一种用于非蜂窝(带有搜索对话框)。
我的 list 看起来像:
<activity android:name=".activities.Search"
android:theme="@style/NoTitleTheme"
android:configChanges="orientation|keyboardHidden"
android:launchMode="singleTop">
android:enabled="@bool/disableForNonHoneycomb"
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"
android:value=".activities.Search"/>
</activity>
<activity android:name=".activities.SearchHoneycomb"
android:theme="@style/CustomTheme"
android:configChanges="orientation|keyboardHidden"
android:enabled="@bool/enableForNonHoneycomb"
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"
android:value=".activities.SearchHoneycomb"/>
</activity>
并且,我使用以下代码获取可搜索配置并在我的 Activity 中设置搜索 View 。
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
_searchView = (SearchView) mCustomView.findViewById(R.id.action_bar_searchwidget);
_searchView.setSearchableInfo(searchManager.getSearchableInfo(getComponentName()));
问题是当我使用搜索小部件时,它不会启动 SearchHoneycomb Activity 。我怎样才能使它工作?
谢谢。
最佳答案
因此,经过大量调查...没有办法有 2 个可搜索 Activity ,因为 android list 只接受 1 个元数据用于默认可搜索。 我通过使用带有默认可搜索元数据的搜索对话框解决了这个问题,并为搜索小部件实现了 querytextlistener。
关于android - 如何在 android list 中声明 2 个搜索 Activity ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5678846/