Saya memiliki aktivitas tanpa widget anak untuk itu dan file xml yang sesuai adalah,
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myLayout"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:focusable="true"
>
</LinearLayout>
dan saya ingin membuka keyboard lunak secara terprogram saat aktivitas dimulai. dan yang saya coba hingga sekarang adalah,
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
InputMethodManager inputMethodManager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
if (inputMethodManager != null) {
inputMethodManager.toggleSoftInput(InputMethodManager.SHOW_FORCED, 0);
}
Beri aku petunjuk.
android
android-softkeyboard
Vignesh
sumber
sumber
Jawaban:
Saya telah menggunakan baris berikut untuk menampilkan keyboard lunak secara manual di dalam acara onclick, dan keyboard terlihat.
Tapi saya masih belum bisa membuka ini saat aktivitas dibuka, jadi apakah ada solusi untuk ini?
sumber
Dalam file manifes Anda, coba tambahkan berikut ini ke
<activity>
yang ingin Anda perlihatkan keyboard saat aktivitas dimulai:android:windowSoftInputMode="stateVisible"
Ini harus menyebabkan keyboard menjadi terlihat saat aktivitas dimulai.
Untuk opsi lainnya, lihat dokumentasi .
sumber
Silakan ikuti kode di bawah ini. Saya yakin masalah Anda akan terpecahkan.
sumber
Ini berhasil
atau
sumber
Yang saya butuhkan hanyalah mengekspos keyboard, pada saat yang sangat tepat. Ini berhasil untuk saya! Terima kasih Benites.
Dan di saat yang sangat tepat:
sumber
postDelayed( runnable, 500 /* msec */ );
Saya telah menggunakan baris berikut untuk menampilkan keyboard lunak secara manual di dalam acara onclick.
sumber
Masukkan itu ke dalam metode onResume:
runnable diperlukan karena ketika OS mengaktifkan metode onResume, Anda tidak dapat memastikan bahwa semua tampilan berada di tempat draw, sehingga metode posting yang dipanggil dari tata letak root Anda membuatnya menunggu hingga setiap tampilan siap.
sumber
sepertinya ini berhasil
tampaknya ini bekerja lebih baik: dalam bentuk nyata:
Tampaknya manifes bekerja di Android 4.2.2 tetapi tidak berfungsi di Android 4.0.3
sumber
dalam metode aktivitas onCreate atau onActivityCreated dari sebuah fragmen
sumber
Saya telah menggunakan seperti ini untuk menampilkan keyboard lunak secara terprogram dan ini berfungsi untuk saya mencegah pengubahan ukuran otomatis layar saat meluncurkan keyboard.
Dalam manifes:
Di XXXActvity:
Saya berasumsi ini akan menghemat waktu orang lain untuk mencari masalah ini.
sumber
Kotlin
Jawa
sumber
sumber
Saya menggunakannya sebagai tunggal seperti:
Gunakan dalam aktivitas Anda seperti:
sumber
Ini bekerja:
Dan Anda menyebut metode ini seperti ini:
sumber
InputMethodManager.SHOW_FORCED bukanlah pilihan yang baik. Jika Anda menggunakan pengaturan ini, Anda harus mengelola status keyboard tersembunyi. Saran saya seperti ini;
Juga, Anda dapat fokus pada tampilan (biasanya EditText) mengambil parameternya. Ini membuatnya menjadi fungsi yang lebih berguna
untuk info lebih lanjut tentang InputMethodManager.SHOW_IMPLICIT dan SHOW_FORCED; InputMethodManager
sumber
Ini adalah kode sumber yang diperlukan:
Untuk detailnya, silakan buka tautan ini. Ini membantu saya. https://github.com/Nikhillosalka/Keyboard/blob/master/README.md
sumber
Gunakan kode di atas di onResume () untuk membuka Keyboard lunak
sumber
Mirip dengan jawaban @ShimonDoodkin, ini yang saya lakukan dalam sebuah fragmen.
https://stackoverflow.com/a/29229865/2413303
dimana
ShowKeyboard
adalahSetelah input berhasil, saya juga memastikan saya menyembunyikan keyboard
sumber
sumber
Sudah terlalu banyak jawaban tetapi tidak ada yang berhasil bagi saya selain dari ini
Saya dulu
showSoftInput
denganSHOW_FORCED
Dan aktivitas saya telah
semoga ini membantu seseorang
sumber
Posting metode ini di aktivitas dasar Anda dan gunakan aktivitas lain seperti pesona
sumber