Saya memiliki Activity
dengan EditText
, tombol dan ListView
. Tujuannya adalah untuk mengetik layar pencarian di EditText
, tekan tombol dan minta hasil pencarian mengisi daftar ini.
Ini semua bekerja dengan sempurna, tetapi keyboard virtual berperilaku aneh.
Jika saya mengklik EditText
, saya mendapatkan keyboard virtual. Jika saya mengklik tombol "Selesai" pada keyboard virtual, itu hilang. Namun, jika saya mengklik tombol pencarian saya sebelum mengklik "Selesai" pada keyboard virtual, keyboard virtual tetap ada dan saya tidak bisa menghilangkannya. Mengklik tombol "Selesai" tidak menutup keyboard. Ini mengubah tombol "Selesai" dari "Selesai" menjadi panah dan tetap terlihat.
Terima kasih atas bantuan Anda
sumber
inputManager.hideSoftInputFromWindow((null == getCurrentFocus()) ? null : getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
sumber
Gunakan Kode Di Bawah Ini
sumber
Anda harus menerapkan
OnEditorActionListener
untuk EditView AndaDan Anda menyembunyikan keyboard dengan:
Anda juga harus menyalakan keyboard yang bersembunyi di tombol Anda menggunakan
onClickListener
Sekarang mengklik 'Selesai' pada keyboard dan tombol virtual akan melakukan hal yang sama - sembunyikan keyboard dan lakukan aksi klik.
sumber
TextView.OnEditorActionListener
.Tambahkan kode berikut di dalam acara klik tombol Anda:
sumber
Karena Anda hanya memiliki satu edit teks maka cukup panggil tindakan yang dilakukan untuk mengedit teks di dalam klik tombol Anda dan sisanya ditangani oleh sistem. Jika Anda memiliki lebih dari satu edittext maka ini tidak akan begitu efisien karena Anda harus mendapatkan edittext fokus terlebih dahulu. Tetapi dalam kasus Anda itu akan bekerja dengan sempurna
sumber
Untuk Aktivitas,
Untuk Fragmen, gunakan getActivity ()
getActivity (). getSystemService ();
getActivity (). getCurrentFocus ();
sumber
Solusi ini sangat cocok untuk saya:
sumber
Coba ini...
Untuk Menampilkan keyboard
Untuk Sembunyikan keyboard
sumber
sumber
Contoh Kotlin:
dari Fragment:
dari Activity:
sumber
Anda menggunakan kode ini dalam acara klik tombol Anda
sumber
Crash Null Point Fixeption Fix: Saya punya kasus di mana keyboard mungkin tidak terbuka ketika pengguna mengklik tombol. Anda harus menulis pernyataan if untuk memeriksa bahwa getCurrentFocus () bukan nol:
sumber
Jika Anda mengatur
android:singleLine="true"
, secara otomatis tombol menyembunyikan keyboard¡sumber