मैं SearchView के लिए सुझाव प्राप्त करने का प्रयास कर रहा हूं। मैंने इसके लिए एक कस्टम सामग्री प्रदाता लागू किया है। मैंने SearchView के सुझावों को लागू करने के लिए इस link को भी संदर्भित किया है। समस्या मैं का सामना करना पड़ रहा है है, मैं शून्य मान पाने पर searchManager.getSearchableInfo(getComponentName())
एंड्रॉइड: getSearchableInfo (getComponentName()) शून्य लौट रहा है?
यहाँ के टुकड़े कर रहे हैं:
AndroidManifest.xml
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<provider android:name=".SearchProvider"
android:enabled="true"
android:authorities="com.example.currentlocationmapdemo"
android:grantUriPermissions="true"
android:exported="true">
<grant-uri-permission android:pathPattern="*" />
</provider>
<uses-library android:name="com.google.android.maps" />
<activity
android:name=".MainActivity"
android:label="@string/title_activity_main" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="android.app.searchable"
android:resource="@xml/searchable"/>
</activity>
searchable.xml
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="label"
android:hint="hint"
android:searchSuggestAuthority="com.example.currentlocationmapdemo"
android:searchSuggestSelection=" ? ">
MainActivity
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.searchview_in_menu, menu);
MenuItem searchItem = menu.findItem(R.id.action_search);
mSearchView = (SearchView) searchItem.getActionView();
SearchManager searchManager = (SearchManager) getSystemService(Context.SEARCH_SERVICE);
SearchableInfo info = searchManager.getSearchableInfo(getComponentName()); // null returned
mSearchView.setSearchableInfo(info);
return true;
}
एक नोट के रूप में, वर्तमान में मैं केवल इसे काम पर ला सकता हूं यदि इरादा-फ़िल्टर वर्तमान गतिविधि में है। यह बहुत बढ़िया है, क्योंकि मैं इसे खोज परिणामों को प्रदर्शित करने के लिए किसी अन्य गतिविधि पर जाना चाहता हूं। यदि आप जानते हैं कि इसके साथ क्या चल रहा है, तो मैं सुनकर आभारी रहूंगा। – Erhannis
इस पर खोए गए घंटे। यह इरादा फ़िल्टर गायब था। –