2013-03-08 19 views
6

Doğrudan bir ListView üzerinde bir SearchView olan bir etkinliğim var. Etkinlik, kullanıcının daha sonra ListView'in içeriğini filtrelemek için kullanılan SearchView'da metin yazarak çalışır.SearchView ve klavye

Uygulama "dikey" yönde olduğunda ve kullanıcı arama görünümünde metin girmeye başladığında 4 "telefon (Nexus 4) üzerinde, ekranın alt yarısı klavyeyi kaplar ve metin doğrudan içeri girilir SearchView parçacığı

Ancak, telefon "yatay" yönde olduğunda, tüm ekran klavye ve "metin alanı" tarafından işgal edilir ve ekranın geri kalanı kaybolur. herhangi bir işlem var gibi klavyede renkli "cam büyütün".

ekran görüntüleri bakın enter image description here

Soru

Yatay yönlendirmede metin doğrudan SearchView küçük aracına girilebilir mi?

Değilse, klavyedeki düğmelerdeki bir şeyi nasıl yapabilirim?

+0

* Yatay yönlendirmede * girilen metni doğrudan SearchView küçük aracına girebilir miyim - - Ben öyle düşünmüyorum. * Klavyedeki düğmeleri nasıl yaparız? * - hangi düğmeler? ne yapalım? – Luksprog

+0

"Klavyedeki" Arama "düğmesine ve" Büyütme camı "düğmesine hiç işlem yapılmıyor." –

+0

Bunun için üzgünüm, bu cümleyi tamamen özledim. Arama veya büyütme düğmesine tıkladığınızda 'onQueryTextSubmit' çağrısını almadığınızdan emin misiniz? – Luksprog

cevap

12

Sen SearchableInfo xml örneğin SearchView widget'ınız için imeOptions ayarlamak gerekir:

android:imeOptions="actionSearch|flagNoExtractUi|flagNoFullscreen" 

Benzer senin arama görünümü yapılandırmak için xml kullanarak değilse setImeOptions yoluyla elde edilebilir.

Sen onCreateOptionsMenu (Menü menüsü) yöntemi, aşağıdaki gibi Java kodu yapabilir
0

: çalışmıyor

searchView.setImeOptions(searchView.getImeOptions() | EditorInfo.IME_ACTION_SEARCH | EditorInfo.IME_FLAG_NO_EXTRACT_UI | EditorInfo.IME_FLAG_NO_FULLSCREEN); 
2

bir android.support.v7.widget.SearchView için imeOptions belirleme: Hem' içindeki EditText bu ayarlamanız gerekir ll:

Java:

EditText searchInput = searchview.findViewById(android.support.v7.appcompat.R.id.search_src_text) 
searchInput.setImeOptions(EditorInfo.IME_ACTION_SEARCH) 

KOTLIN:

val searchInput = searchview.findViewById<EditText>(android.support.v7.appcompat.R.id.search_src_text) 
searchInput.imeOptions = EditorInfo.IME_ACTION_SEARCH 
+0

Lütfen bu soruya bir bakabilir misiniz? Çözümünüzü denedim ama davamda işe yaramadı. https://stackoverflow.com/questions/46263084/android-search-tool-in-landscape-orientation –