Saya pada dasarnya hanya ingin beralih ke mode pad nomor segera setelah EditText tertentu memiliki fokus.
Saya pada dasarnya hanya ingin beralih ke mode pad nomor segera setelah EditText tertentu memiliki fokus.
Jawaban:
Saya menemukan implementasi ini bermanfaat, menunjukkan keyboard yang lebih baik dan membatasi karakter input.
<EditText
android:inputType="phone"
android:digits="1234567890"
...
/>
Selain itu, Anda dapat menggunakan android:maxLength
untuk membatasi jumlah angka maksimal.
Untuk melakukan ini secara terprogram:
editText.setInputType(InputType.TYPE_CLASS_PHONE);
KeyListener keyListener = DigitsKeyListener.getInstance("1234567890");
editText.setKeyListener(keyListener);
<EditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
...
android:inputType="number|phone"/>
akan menampilkan tombol angka besar sebagai dialer.
Anda bisa melakukannya dengan 2 cara
Set waktu runtime
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
Menggunakan XML
<EditText
...
android:inputType="number" />
Jika Anda menggunakan EditText dalam Dialog atau membuat secara dinamis dan Anda tidak dapat mengaturnya dari xml maka contoh ini akan membantu Anda dalam mengatur jenis papan kunci tersebut saat Anda menggunakan Edit Teks dinamis dll.
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
di mana myEditTxt adalah objek EDIT TEXT dinamis (nama)
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
Jenis dan detail masukan lebih banyak ditemukan di sini di situs web google
Kode di bawah ini hanya akan memungkinkan angka "0123456789", bahkan jika Anda secara tidak sengaja mengetik selain "0123456789", teks edit tidak akan menerima.
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);