كيف يمكنني عرض لوحة مفاتيح الأرقام على Edittext في Android؟
-
12-09-2019 - |
سؤال
أريد فقط التبديل إلى وضع وسادة الرقم بمجرد أن يكون EDITTEXT معين من التركيز.
نصائح أخرى
للقيام بذلك في ملف Java:
EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);
لقد وجدت هذا التنفيذ مفيد، ويظهر لوحة مفاتيح أفضل وحدود اجراءات المدخلات.
<EditText
android:inputType="phone"
android:digits="1234567890"
...
/>
بالإضافة إلى ذلك، يمكنك استخدام android:maxLength
للحد من الحد الأقصى لكمية الأرقام.
للقيام بهذا برمجيا:
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"/>
سوف تظهر وسادة عدد كبير مثل المسجل.
يمكنك أن تفعل ذلك 2 طرق
ضبط وقت التشغيل
EditText input = new EditText(this); input.setInputType(InputType.TYPE_CLASS_NUMBER);
باستخدام XML.
<EditText ... android:inputType="number" />
إذا كنت بحاجة إلى رقم كسور، فهذه هي الإجابة لك:
android:inputType="numberDecimal"
إذا كنت تستخدم Edittext الخاص بك في مربع حوار أو إنشاء ديناميكيا ولا يمكنك تعيينه من XML، فسيساعدك هذا المثال في إعداد هذا النوع من لوحة المفاتيح أثناء استخدام نص تحرير ديناميكي وما إلى ذلك
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
حيث myedittxt هو كائن نصي تحرير الديناميكي (الاسم)
المزيد من أنواع الإدخال والتفاصيل الموجودة هنا على موقع Google
سيسمح الرمز أدناه فقط بالأرقام "0123456789"، حتى إذا اكتبت بطريق الخطأ غير "0123456789"، فلن يقبل تحرير النص.
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);
استخدم الرمز أدناه في ملف Java
EDITTEXT.SETRAWINPUTTYPE (التكوين.
حدد هذا في كود XML الخاص بك
android:inputType="number"
EditText number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);