SituationAndroid Suche deaktivieren Vollbild funktioniert nicht nach dem Vorschlag der Auswahl
ich eine Suche in meiner Symbolleiste habe, die Vorschläge für den Benutzer angezeigt wird, wenn sie in der Suche eingeben. In der Querformat-Orientierung funktioniert zunächst alles mit der angezeigten Softkey-Tastatur und der sichtbaren Sucher-Ansicht. Nachdem der Benutzer einen Vorschlag auswählt und eine zweite Suche durchführt, befindet sich die Suchoberfläche nun im Vollbildmodus, wo die Suchansicht verdeckt ist und Vorschläge nicht angezeigt werden.
Problem
Wie kann ich konsequent keine Vollbild erhalten, egal wie oft die Suchfunktion verwendet wird?
Dinge, die ich habe versucht,
ImeOptions - flagNoFullscreen, flagNoExtractUi
-Code
MainFragment
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater.inflate(R.menu.favorites, menu);
MenuItem toggleItem = menu.findItem(R.id.toggle_shake);
setUpToggleShake(toggleItem);
MenuItem singleSearchItem = menu.findItem(R.id.search_restaurant);
setUpSingleSearch(menu, singleSearchItem);
}
private void setUpSingleSearch(final Menu menu, final MenuItem singleSearchItem) {
searchView = (SearchView) MenuItemCompat.getActionView(singleSearchItem);
searchView.setQueryHint("Search Restaurant");
searchView.setMaxWidth(10000);
searchView.setImeOptions(searchView.getImeOptions() | EditorInfo.IME_FLAG_NO_FULLSCREEN |
EditorInfo.IME_FLAG_NO_EXTRACT_UI);
searchView.setOnQueryTextListener(new SearchView.OnQueryTextListener() {
@Override
public boolean onQueryTextSubmit(String query) {
return false;
}
@Override
public boolean onQueryTextChange(String newText) {
displaySuggestions(newText);
return false;
}
});
searchView.setOnSuggestionListener(new SearchView.OnSuggestionListener() {
@Override
public boolean onSuggestionSelect(int position) {
return false;
}
@Override
public boolean onSuggestionClick(int position) {
MatrixCursor cursor = (MatrixCursor)(searchView.getSuggestionsAdapter()
.getCursor());
if (cursor.moveToPosition(position)) {
String restaurantId = cursor.getString(cursor.getColumnIndex(
RestaurantTable.Cols.ID));
mFavoritesRestaurantListAdapter.setSingleSearchRestaurant(restaurantId);
mFavoritesRestaurantListAdapter.onSingleSearch();
}
searchView.clearFocus();
searchView.onActionViewCollapsed();
setItemsVisibility(menu, singleSearchItem, true);
return false;
}
});
searchView.setOnSearchClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setItemsVisibility(menu, singleSearchItem, false);
searchView.setFocusable(true);
searchView.requestFocus();
searchView.requestFocusFromTouch();
}
});
searchView.setOnCloseListener(new SearchView.OnCloseListener() {
@Override
public boolean onClose() {
setItemsVisibility(menu, singleSearchItem, true);
searchView.clearFocus();
return false;
}
});
final AutoCompleteTextView searchAutoCompleteTextView = (AutoCompleteTextView) searchView
.findViewById(R.id.search_src_text);
searchAutoCompleteTextView.setThreshold(1);
}
Nur um zu klären. Sie drücken die Suche -> Suchleiste ist erweitert -> Sie geben Abfrage ein -> Sie wählen vorgeschlagenes Element -> Suchleiste ist ausgeblendet und Tastatur ist weg -> drücken Sie die Suche noch einmal -> Sie sehen großes weißes Textfeld oben und Tastatur auf Unterseite. Habe ich recht? – Andrew
Ja, das ist die Situation. –