Saya memiliki tata letak yang berisi beberapa tampilan seperti ini:
<LinearLayout>
<TextView...>
<TextView...>
<ImageView ...>
<EditText...>
<Button...>
</linearLayout>
Bagaimana saya bisa mengatur fokus (menampilkan keyboard) pada EditText
program saya ?
Saya sudah mencoba ini dan itu berfungsi hanya ketika saya meluncurkan Activity
normal saya , tetapi ketika saya meluncurkannya dalam TabHost
, itu tidak berhasil.
txtSearch.setFocusableInTouchMode(true);
txtSearch.setFocusable(true);
txtSearch.requestFocus();
android
focus
android-edittext
Houcine
sumber
sumber
Jawaban:
Coba ini:
http://developer.android.com/reference/android/view/View.html#requestFocus ()
sumber
menggunakan:
sumber
View
subkelas)imm.showSoftInput()
tidak berhasil.Ini bekerja untuk saya, Terima kasih kepada ungalcrys
Tampilkan keyboard:
Sembunyikan keyboard:
sumber
showSoftInput
sama sekali tidak bekerja untuk saya.Saya pikir saya perlu mengatur mode input:
android:windowSoftInputMode="stateVisible"
(di sini di komponen Activity di manifes)Semoga bantuan ini!
sumber
sumber
tb.post({ showKeyboard(tb) })
). Perhatikan bahwa kita memerlukan tampilan EditText (tb
), bukan tampilan fragmen.Berikut adalah cara membuat ekstensi kotlin untuk menampilkan dan menyembunyikan keyboard lunak:
Maka Anda bisa melakukan ini:
sumber
Saya sarankan menggunakan LifecycleObserver yang merupakan bagian dari Menangani Siklus Hidup dengan Komponen Lifecycle-Sadar dari Android Jetpack .
Saya ingin membuka dan menutup Keyboard saat Fragmen / Aktivitas muncul. Pertama, tentukan dua fungsi ekstensi untuk EditText. Anda dapat menempatkannya di mana saja di proyek Anda:
Kemudian tentukan LifecycleObserver yang membuka dan menutup keyboard saat Activity / Fragment mencapai
onResume()
atauonPause
:Kemudian tambahkan baris berikut ke salah satu Fragmen / Aktivitas Anda, Anda dapat menggunakan kembali LifecycleObserver kapan saja. Misalnya untuk Fragmen:
sumber
Ini adalah Kelas KeyboardHelper untuk menyembunyikan dan menampilkan keyboard
sumber
Cara pertama :
Cara kedua :
Dalam Manifest:
Dalam kode:
sumber
Saya mencoba banyak cara dan itu tidak berfungsi, tidak yakin apakah itu karena saya menggunakan transisi bersama dari fragmen ke aktivitas yang berisi teks edit.
Btw edittext saya juga dibungkus dengan LinearLayout.
Saya menambahkan sedikit keterlambatan untuk meminta fokus dan kode di bawah ini berfungsi untuk saya: (Kotlin)
showKeyboard ()
sumber
sumber
Saya tidak bisa mendapatkan jawaban ini untuk bekerja sendiri. Solusi bagi saya adalah menggabungkan mereka:
Saya tidak yakin mengapa itu diperlukan bagi saya - menurut dokumen tampaknya kedua metode tersebut harus bekerja sendiri.
sumber