मैं एंड्रॉइड में एक EditText पर नंबर कीबोर्ड कैसे दिखा सकता हूं?


146

मैं बस मूल रूप से नंबर पैड मोड में स्विच करना चाहता हूं क्योंकि एक निश्चित EditText में फोकस है।


4
प्रश्न विशेष रूप से अनुमत इनपुट प्रकार को बदलने की इच्छा नहीं बताता है। यह बस कीबोर्ड मोड को बदलने का तरीका पूछता है जो कि मैं इनपुट प्रकार को बदलने के बिना करना चाहता हूं। सभी उत्तर बताते हैं कि इनपुट प्रकार को कैसे बदलना है।
एलनक्ले

इस सवाल पर मेरे जवाब की जाँच करें stackoverflow.com/questions/39593324/…
Android मदद

जवाबों:


261

आप inputTypeअपने लिए कॉन्फ़िगर कर सकते हैं EditText:

<EditText android:inputType="number" ... />

6
यह भी ध्यान दें कि इसका उपयोग करने के लिए आपको Android 1.5 को लक्षित करने की आवश्यकता है (यह 1.1 में उपलब्ध नहीं है)
Wilka

4
समस्या यह है कि आप वापस स्विच नहीं कर सकते। "नंबर | टेक्स्ट" का उपयोग करने से भी काम नहीं होता है। ऐसा लगता है कि यदि आप एक संख्यात्मक कीबोर्ड दिखाना चाहते हैं, तो आप इसे पाठ पर वापस जाने की अनुमति नहीं दे सकते।

मैं ब्रायन के साथ सहमत हूँ। यदि पहला क्षेत्र अल्फा है और अगला क्षेत्र संख्यात्मक है, तो मैं 'नेक्स्ट' बटन का उपयोग करके अगले क्षेत्र में नहीं जा सकता!
अहमद

आप वापस जा सकते हैं या नहीं, यह उस फोन पर निर्भर करता है जो मुझे लगता है। मेरा यह अनुमति देता है।
मार्टिन क्लेमेंस बलोच

मैं keybord टाइप नंबर बदलना चाहता हूं और मुझे edittext में पेस्ट टेक्स्ट चाहिए। कैसे करें?
ब्राहिम यानिकी

115

एक जावा फ़ाइल में करने के लिए:

EditText input = new EditText(this);
input.setInputType(InputType.TYPE_CLASS_NUMBER);

51

मुझे यह कार्यान्वयन उपयोगी लगा, एक बेहतर कीबोर्ड दिखाता है और इनपुट वर्णों को सीमित करता है।

<EditText
    android:inputType="phone"
    android:digits="1234567890"
    ...
/>

इसके अतिरिक्त, आप android:maxLengthअधिकतम संख्या को सीमित करने के लिए उपयोग कर सकते हैं ।

इस कार्यक्रम को करने के लिए:

editText.setInputType(InputType.TYPE_CLASS_PHONE);

KeyListener keyListener = DigitsKeyListener.getInstance("1234567890");
editText.setKeyListener(keyListener);

क्या इस कार्यक्रम को करने का कोई तरीका है? मेरे एडिट टेक्स्ट के लिए एक सीमित संख्या कीबोर्ड प्राप्त करने के लिए मर रहा है लेकिन इसे इस तरह से सेट किया गया है कि इसे गतिविधि में उत्पन्न किया जाना है।
मार्टिन एरिक


11

आप इसे 2 तरीके से कर सकते हैं

  1. रनटाइम सेट

    EditText input = new EditText(this);
    input.setInputType(InputType.TYPE_CLASS_NUMBER);
  2. XML का उपयोग करना

    <EditText
        ...
        android:inputType="number" />

5

यदि आपको भिन्नात्मक संख्या की आवश्यकता है, तो यह आपके लिए उत्तर है:

android:inputType="numberDecimal"

4

यदि आप डायलॉग में अपने EditText का उपयोग कर रहे हैं या गतिशील रूप से बना रहे हैं और आप इसे xml से सेट नहीं कर सकते हैं तो यह उदाहरण आपको डायनामिक एडिट टेक्स्ट आदि का उपयोग करते समय उस प्रकार के की-बोर्ड को सेट करने में मदद करेगा।

myEditTxt.setInputType(InputType.TYPE_CLASS_NUMBER);

जहाँ myEditTxt गतिशील EDIT पाठ वस्तु (नाम) है


2
editText.setRawInputType(InputType.TYPE_CLASS_NUMBER);

यदि आप मैन्युअल रूप से एक पाठ (जैसे मुद्रा के लिए) प्रारूपित कर रहे हैं और बस कीबोर्ड को नियंत्रित करना चाहते हैं, तो यह पसंद है। अपने आकर्षण फ़िल्टर नहीं करेंगे। धन्यवाद!
लुकास

यह मेरे लिए एक आकर्षण की तरह काम करता था। जब कोई फ़ील्ड अभी तक संपादित नहीं किया गया है, तो मैं एक टेक्स्ट प्लेसहोल्डर मान प्रदर्शित करना चाहता हूं, लेकिन फिर भी संख्याओं के लिए इनपुट को प्रतिबंधित करें और एक प्रतिबंधित कीबोर्ड प्रदर्शित करें।
एलेक्स सुजुकी


2

नीचे दिए गए कोड केवल "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”));

आपको अपने कोड को समझाते हुए कमेंट्री जोड़ना चाहिए और इसका हल क्यों है
साइरोक्सिस

1

जावा फ़ाइल में नीचे दिए गए कोड का उपयोग करें

editText.setRawInputType (Configuration.KEYBOARD_QWERTY);


0

इसे अपने xml कोड में परिभाषित करें

android:inputType="number"

0
EditText number1 = (EditText) layout.findViewById(R.id.edittext); 
number1.setInputType(InputType.TYPE_CLASS_NUMBER);

यदि आपके पास EditText नंबर 1 लेआउट xml कोड में बनाया गया है, तो यदि आप नंबर कीबोर्ड को नंबर 1 EditText पर सेट करना चाहते हैं, तो आप जावा कोड का उपयोग करके इस तरह कर सकते हैं।
शिव बाय्या
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.