öneri seçtikten sonra çalışmıyor. Öncelikle, yatay yönde, her şey görüntülenen ekran tuşu ve arama görünümünde görünür. Ancak, kullanıcı bir öneri seçtikten ve ikinci bir arama yapmayı denedikten sonra, arama arayüzü artık arama ekranının kaplandığı ve önerilerin görülemeyeceği tam ekrantadır.
Sorun sürekli olursa olsun arama fonksiyonu kullanılır kaç kez tam ekran nasıl alabilirim
? , FlagNoExtractUi
Kod
MainFragment sorun SearchView en onActionViewCollapsed çağrısı gibi görünüyor
@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);
}
Sadece netleştirmek için. Arama tuşuna basarsınız -> arama çubuğu genişletilir -> sorgu yazılır -> önerilen öğeyi seçersiniz -> arama çubuğu daraltılır ve klavye kaybolur -> siz bir kez daha aramaya basarsınız -> üstte büyük beyaz metin kutusu ve klavye alt. Ben haklı mıyım – Andrew
Evet durum bu. –