Я использую интерфейс поиска в andriod и, следуя руководству по Android, я настроил интерфейс.
Я создаю SearchableActivity, которая будет обрабатывать как пользователя, так и пользователя. введите результат поиска.
Теперь я столкнулся с проблемой: когда пользователь вводит что-то в SearchView и нажимает клавишу поиска, запрос поиска будет отправлен , то я получу строку запроса и выполню поиск, но в этот момент текст в 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:
Подробнее здесь: https://stackoverflow.com/questions/195 ... s-not-work