2012-06-15 25 views
12

पर काम करने वाले अगले बटन को रोकता है मेरे पास एंड्रॉइड ऐप पर कई संपादन टेक्स्ट फ़ील्ड हैं और मैंने एंड्रॉइड का उपयोग किया है: अमान्य वर्ण इनपुट होने से रोकने के लिए अंक।एंड्रॉइड का उपयोग: अक्षरों को सीमित करने के लिए डिजिट एट्रिब्यूट

जैसे: android:digits="@string/validchars" (जहां "validchars" सभी वैध वर्णों की स्ट्रिंग संसाधन है - जैसे AZ, 0-9, और कुछ विराम चिह्न)

समस्या यह है, उपयोगकर्ता कुंजी एंटर दबाता है सॉफ्ट कीबोर्ड पर यह उन्हें अगले फ़ील्ड में ले जाता था, लेकिन जब से मैंने एंड्रॉइड जोड़ा: अंक बिट ने काम करना बंद कर दिया है। मैंने validchars पर \ n जोड़ने की कोशिश की है, लेकिन यह केवल सिंगल लाइन टेक्स्टबॉक्स (!) में कैरिज रिटर्न्स की अनुमति देता है, इसलिए मदद नहीं करता है। मैंने imeOptions के साथ झुकाव करने की कोशिश की है (actionNext आदि जोड़ना) लेकिन यह इसे ठीक करने के लिए प्रतीत नहीं होता है। मैंने टेक्स्टवॉचर्स और इनपुट फ़िल्टर के बारे में पढ़ा है, लेकिन जो कुछ मैं करने की कोशिश कर रहा हूं उसके लिए दोनों जटिल हैं और android:digits बिट अमान्य वर्णों को रोकने में ठीक काम करता है।

क्या किसी को कोई विचार है?

मैं एंड्रॉइड एसडीके संस्करण 8 का उपयोग कर रहा हूं और 2.2 और 2.3.5 डिवाइस दोनों को लक्षित कर रहा हूं।

उत्तर

22

एडिटटेक्स्ट के लिए उपलब्ध विशेषताओं के साथ घूमने के बाद थोड़ा सा पाया गया कि जब मैं एंड्रॉइड जोड़ता हूं: सिंगललाइन = "सत्य" एंटर कुंजी अब फोकस को अगले फ़ील्ड पर ले जाती है, भले ही एंड्रॉइड: अंक प्रतिबंधित हो पात्र प्रवेश किया। समस्या सुलझ गयी! (मेरे लिए, वैसे भी!)

+0

वैकल्पिक रूप से, यदि उपयोगकर्ता अगले के बजाय "पूर्ण" विकल्प चाहता है, तो यह प्रश्न देखें, जो http://stackoverflow.com/questions/1919742/android-editview- किया गया बटन – CrimsonX

+0

एंड्रॉइड: सिंगललाइन बहिष्कृत = (क्या यह कोई अन्य तरीका है? –

+0

मुझे विश्वास है कि अब आपको maxLines = "1" – Buzby