मैं बस मूल रूप से नंबर पैड मोड में स्विच करना चाहता हूं क्योंकि एक निश्चित EditText में फोकस है।
मैं बस मूल रूप से नंबर पैड मोड में स्विच करना चाहता हूं क्योंकि एक निश्चित EditText में फोकस है।
जवाबों:
मुझे यह कार्यान्वयन उपयोगी लगा, एक बेहतर कीबोर्ड दिखाता है और इनपुट वर्णों को सीमित करता है।
<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" />
यदि आप डायलॉग में अपने EditText का उपयोग कर रहे हैं या गतिशील रूप से बना रहे हैं और आप इसे xml से सेट नहीं कर सकते हैं तो यह उदाहरण आपको डायनामिक एडिट टेक्स्ट आदि का उपयोग करते समय उस प्रकार के की-बोर्ड को सेट करने में मदद करेगा।
myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);
जहाँ myEditTxt गतिशील EDIT पाठ वस्तु (नाम) है
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);
नीचे दिए गए कोड केवल "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 number1 = (EditText) layout.findViewById(R.id.edittext);
number1.setInputType(InputType.TYPE_CLASS_NUMBER);