Temel olarak, belirli bir EditText odak noktasına sahip olur olmaz sayısal tuş takımı moduna geçmek istiyorum.
Temel olarak, belirli bir EditText odak noktasına sahip olur olmaz sayısal tuş takımı moduna geçmek istiyorum.
Yanıtlar:
Bu uygulamayı yararlı buldum, daha iyi bir klavye gösteriyor ve giriş karakterlerini sınırlandırıyor.
<EditText
android:inputType="phone"
android:digits="1234567890"
...
/>
Ek olarak, android:maxLength
maksimum sayı miktarını sınırlamak için kullanabilirsiniz .
Bunu programlı olarak yapmak için:
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"/>
büyük sayısal tuş takımını çevirici olarak gösterecektir.
2 şekilde yapabilirsiniz
Çalışma zamanı seti
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
XML kullanma
<EditText
...
android:inputType="number" />
EditText'inizi Dialog'da kullanıyorsanız veya dinamik olarak oluşturuyorsanız ve bunu xml'den ayarlayamıyorsanız, bu örnek dinamik Edit Text vb. Kullanırken bu tür klavye ayarlamanıza yardımcı olacaktır
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
myEditTxt dinamik DÜZENLEME METİN nesnesidir (ad)
Aşağıdaki kod yalnızca "0123456789" sayılarına izin verir, yanlışlıkla "0123456789" dışında yazsanız bile düzenleme metni kabul etmez.
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER|InputType.TYPE_CLASS_PHONE);
number1.setKeyListener(DigitsKeyListener.getInstance("0123456789”));
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
Daha girdi türleri ve detayları bulundu burada google web sitesinde
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);