Ada widget untuk ActionBar yang disebut 'SearchView'. Saat tidak digunakan, akan terlihat seperti ini:
Dan ketika sedang digunakan, akan terlihat seperti ini:
Saya ingin (tentu saja secara terprogram) membuka tampilan pencarian (membuatnya "digunakan").
Saya mencoba beberapa fungsi seperti:
SearchView searchView = (SearchView) menu.findItem(R.id.menu_search).getActionView();
searchView.setOnQueryTextListener(this);
searchView.performClick();
searchView.requestFocus();
Tapi tidak ada yang berhasil ...
SearchView di XML:
<item android:id="@+id/menu_search"
android:title="Search"
android:icon="@drawable/ic_action_search"
android:showAsAction="ifRoom|collapseActionView"
android:actionViewClass="android.widget.SearchView" />
java
android
android-actionbar
Eli Revah
sumber
sumber
showAsAction="always"
membuat ikon pencarian tetap berada di bilah tindakan saat diperluas, yang tidak menyerupai tampilan saat memfokuskan pencarian secara manual.Coba panggil
expandActionView()
MenuItem, bukan onActionViewExpanded () di ActionView.Ini bekerja untuk saya.
sumber
showAsAction: always
yang menyebabkan beberapa masalah.Jika Anda ingin menggunakan pustaka dukungan hanya jika diperlukan, lakukan ini
lain lakukan saja ini
sumber
Saya tahu ini terlambat tapi
Coba panggil expandActionView () untuk membukanya dan collapseActionView () untuk menutupnya. Anda bisa memanggil requestFocus () pada Tampilan Tindakan aktual melalui getActionView () untuk memberikan fokus tampilan pencarian :)
sumber
Memperluas jawaban Perampokan Matthias:
Saya ingin sebuah fragmen daftar untuk menyimpan nilai pencariannya dan mengaturnya setelah pengguna kembali dari fragmen lain.
dan untuk menu yang saya simpan
always|collapseActionView
, jika tidak maka tetap terbuka saat pengguna menghapus teks.sumber
Untuk membuka sebuah
searchView
penyimpananclose_button
pada akhirnya gunakan ini dionCreate
: -sumber