Fokus adalah untuk memilih komponen UI saat Anda menggunakan sesuatu selain sentuhan (mis., D-pad, keyboard, dll.). Setiap tampilan dapat menerima fokus, meskipun beberapa tidak dapat difokuskan secara default. (Anda dapat membuat tampilan setFocusable(true)
dapat difokuskan dengan dan memaksanya untuk difokuskan requestFocus()
.)
Namun demikian, penting untuk diperhatikan bahwa saat Anda dalam mode sentuh, fokus dinonaktifkan . Jadi jika Anda menggunakan jari Anda, mengubah fokus secara terprogram tidak akan menghasilkan apa-apa. Pengecualian untuk ini adalah untuk tampilan yang menerima masukan dari editor masukan. Contohnya EditText
seperti itu. Untuk situasi khusus setFocusableInTouchMode(true)
ini digunakan agar keyboard lunak tahu ke mana harus mengirim input. An EditText
memiliki pengaturan ini secara default. Soft keyboard akan muncul secara otomatis.
Jika Anda tidak ingin soft keyboard muncul secara otomatis maka Anda dapat menekannya untuk sementara seperti yang dicatat @abeljus:
InputMethodManager inputManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
Namun, saat pengguna mengkliknya EditText
, keyboard masih tetap ditampilkan.
Bacaan lebih lanjut: