Я использую интерфейс поиска в andriod, и, следуя руководству android, я установил интерфейс.searchView setQuery не работает
Я создаю объект SearchableActivity, который будет обрабатывать и пользователь, вводящий результат поиска.
Теперь я сталкиваюсь с проблемой в том, что когда пользователь вводит что-то в SearchView
и нажимает клавишу поиска, будет отправлен запрос requset, затем я получу строку запроса и выполняю поиск, но в этот момент текст в SearchView
было изменено на значение по умолчанию SearchHit
, в то время как я хочу, чтобы это была строка запроса.
Итак, я попытался использовать searchView.setQuery(query, false);
, но это не сработает, в чем проблема?
Основные коды Активность:
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
}
}
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>
сделал и решил проблему. даже я ударил в ту же точку. –