ich die Suche Schnittstelle in andriod benutze und Folowing die Android-Anleitung, die ich die die Schnittstelle eingerichtet haben.Suche setQuery funktioniert nicht
Ich erstelle eine SearchableActivity, die sowohl die Benutzereingabe des Suchergebnisses behandelt.
Jetzt triff ich ein Problem, wenn Benutzer etwas in die SearchView
Eingabe eingeben und den Suchschlüssel drücken, wird das Such-Request eingereicht, dann werde ich die Abfragezeichenfolge empfangen und die Suche durchführen, aber in diesem Moment den Text in den SearchView
wurde auf den Standard SearchHit
Wert geändert, während ich es der Abfrage-String sein soll.
Also habe ich versucht, die searchView.setQuery(query, false);
zu verwenden, aber es funktioniert nicht, was ist das Problem?
Die Tätigkeitskodes Kern:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.map_activity_layout);
Log.d("map", "create");
handleIntent(getIntent());
}
public void onNewIntent(Intent intent) {
setIntent(intent);
handleIntent(intent);
}
private void handleIntent(Intent intent) {
Log.d("map", "handleIntent");
if (Intent.ACTION_SEARCH.equals(intent.getAction())) {
String query = intent.getStringExtra(SearchManager.QUERY);
//try search
Log.d("map", "search and set query:" + query);
searchView.setQuery(query, false); // reset the value in of the SearchView
}
}
Die AndroidManifest.xml:
<activity
android:name=".ui.MapActivity"
android:launchMode="singleTop">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
<action android:name="android.intent.action.SEARCH" />
</intent-filter>
<meta-data
android:name="android.app.searchable"
android:resource="@xml/searchable" />
</activity>
haben Sie das Problem lösen. sogar ich habe an demselben Punkt geschlagen. –