मेरे आवेदन में मैंने अपने सामग्री प्रदाता को खोजने योग्य बनाया, मेरी मुख्य गतिविधि को मेरे मैनिफेस्ट पर डिफ़ॉल्ट खोज गतिविधि के रूप में परिभाषित किया।onSuggestionClick मेरी गतिविधि को दोबारा शुरू करता है
<activity
android:name="com.pt.application.MainActivity"
android:label="@string/title_activity_map"
android:launchMode="singleTop"
android:theme="@style/AppTheme" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
तो मैं सुझाव उपयोगकर्ता द्वारा क्लिक किया के आधार पर एक नक्शा अद्यतन करने के लिए onSuggestionClick विकल्प लागू किया,। सर्चव्यू एक्शन बार पर है। समस्या यह है कि जब उपयोगकर्ता किसी सुझाव पर क्लिक करता है, तो किसी भी तरह गतिविधि को पुनर्निर्मित किया जाता है (मुझे लगता है कि ऑनपोज और ऑनर्यूम कहा जाता है?)। क्या ऐसा होने से रोकने के लिए कोई रास्ता है? मैं नहीं चाहता कि जब भी उपयोगकर्ता सुझाव पर क्लिक करता है तो मेरी गतिविधि "पुनर्निर्मित" होती है।
यदि अधिक कोड की आवश्यकता है, तो कृपया पूछें। धन्यवाद।
संपादित करें: कोड
<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
android:label="@string/app_name"
android:hint="@string/search_hint"
android:voiceSearchMode="showVoiceSearchButton|launchRecognizer"
android:voiceLanguageModel="web_search"
android:searchSuggestAuthority="com.pt.provider"
android:searchSuggestIntentData="content://com.pt.provider/busstop">
</searchable>
जोड़ा मेरा मुख्य गतिविधि पर:
// Bind the Activity’s SearchableInfo to the Search View
searchView = (SearchView)menu.findItem(R.id.menu_search).getActionView();
this.setupSearchView();
private void setupSearchView()
{
// Use the Search Manager to find the SearchableInfo related
// to this Activity.
SearchManager searchManager =
(SearchManager)getSystemService(Context.SEARCH_SERVICE);
SearchableInfo searchableInfo =
searchManager.getSearchableInfo(getComponentName());
searchView.setSearchableInfo(searchableInfo);
searchView.setSubmitButtonEnabled(false);
searchView.setOnSuggestionListener(new OnSuggestionListener() {
@Override
public boolean onSuggestionSelect(int position) {
return false;
}
@Override
public boolean onSuggestionClick(int position) {
// Do things
return false;
}
});
}
अपने खोजा रूप में अपनी गतिविधि कोड जोड़ कृपया (या कम से कम सभी प्रासंगिक भागों खोज के साथ क्या करना है कि) के साथ .xml। –
कुछ कोड जोड़ा गया। – Gravecard