2010-07-09 18 views
13

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

क्या कोई तरीका है जिसका उपयोग मैं वर्चुअल कीबोर्ड को केवल संख्यात्मक मोड में खींच सकता हूं जब मुझे केवल संख्या दर्ज करने की आवश्यकता होती है?

धन्यवाद और विनम्र।

+0

उपयोगकर्ता एक वेब पेज संपादित फ़ील्ड पर केंद्रित होने पर हम संख्यात्मक सॉफ्ट कीबोर्ड पर डिफ़ॉल्ट कैसे हो सकते हैं जहां इनपुट = संख्या? –

उत्तर

0

वहाँ का उपयोग कर जो मैं सांख्यिक मोड में आभासी कुंजीपटल ऊपर खींच सकते हैं केवल जब मैं संख्या केवल दर्ज करने की आवश्यकता कोई तरीका है?

हाँ, आप number या numberDecimal मूल्य के साथ android:inputType XML विशेषता निर्दिष्ट कर सकते हैं:

<EditText 
android:text="" 
android:id="@+id/editTextNumber" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:inputType="numberDecimal"> 
</EditText> 

का आनंद लें !!

+0

क्या आपने इसे वेबव्यू के साथ आजमाया है ?? @ शिवांस –

+1

हाय परेश। प्रतिक्रिया के लिए धन्यवाद। हम केवल वेबव्यू उपयोग के लिए इस समस्या का सामना कर रहे हैं। –

+1

हां, प्रश्न वेबव्यू इनपुट फ़ील्ड के बारे में है। – Ixx

28
editTextField.setRawInputType(Configuration.KEYBOARD_QWERTY); 

यह पहली संख्यात्मक संस्करण के साथ सामान्य कुंजी पैड से पता चलता है, फिर भी आप उनके बीच स्विच कर सकते हैं।

getInput.setRawInputType(Configuration.KEYBOARD_12KEY); 

यह केवल संख्यात्मक दिखाता है, पाठ मान दर्ज करने के लिए कोई विकल्प नहीं है।

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

+5

आपको कॉन्फ़िगरेशन के बजाय InputType.TYPE_CLASS_NUMBER का उपयोग नहीं करना चाहिए। KEYBOARD_QWERTY, और InputType.TYPE_CLASS_PHONE कॉन्फ़िगरेशन के बजाय। KEYBOARD_12KEY? ये वही int मान हैं, इसलिए समान प्रभाव पड़ता है, लेकिन मुझे लगता है कि ये सही प्रकार हैं। – SteelBytes

+0

यह मेरे लिए काम करता है। धन्यवाद! – rDroid

+0

उपयोगकर्ता455451, मुझे एक ही समस्या है और मैंने आपकी विधि की कोशिश की है। दुर्भाग्य से, यह काम नहीं करता है: अगर मैं TYPE_CLASS_NUMBER का उपयोग (या Configuration.KEYBOARD_QWERTY - कोड एक ही हैं) मैं पाठ के लिए इनपुट यह स्विच करने के लिए संभावना के बिना संख्यात्मक कीपैड मिलता है। शायद एंड्रॉइड में समस्या है? मेरे पास 2.1 संस्करण है। –

1

आप HTML के बारे में बात कर रहे हैं, तो आप HTML5 के उपयोग कर सकता है, उदाहरण के लिए:

Number: <input type="number" name="points" min="1" max="10" /> 

एचटीसी डिजायर ब्राउज़र में इस परीक्षण किया है, और यह अलग (अंकीय) कुंजीपटल जब आप ऐसे में डेटा डालने को लाता है खेत।

+0

हां, यह कई परिस्थितियों में काम करना चाहिए। हालांकि, अगर आप अपने HTML5 ब्राउज़र ऐप के लिए jQueryMobile का उपयोग करते हैं, तो टाइप = संख्या एक संख्यात्मक कीबोर्ड ट्रिगर नहीं करती है। – Wytze

+0

मेरे फोनगैप ऐप के लिए, टाइप = "संख्या" निर्दिष्ट करने से उपयोगकर्ता ने एक वर्ण दर्ज करने के बाद केवल संख्यात्मक कीबोर्ड लाया। यह jQuery मेरे लिए तय किया गया है (जहां सभी ऐसे इनपुटों में पिन की श्रेणी है): $ ("पिन")। लाइव ('टैप', फ़ंक्शन() { \t \t $ (यह)। फ़ोकस(); \t }); –

2

Configuration.KEYBOARD_12KEY या Configuration.KEYBOARD_QWERTY गलत तरीका है।

आपको पर InputType (show doc here) का उपयोग करना होगा।

+1

कच्चे इनपुट प्रकार को TYPE_CLASS_NUMBER पर सेट करना अभी भी केवल सॉफ्ट मोड में सबसे नरम इनपुट लॉक करता है। –

संबंधित मुद्दे