2012-08-29 9 views
22

मेरे Android एप्लिकेशन एक EditText क्षेत्र जहां उपयोगकर्ता इनपुट दे सकता है। लेकिन अब मैं चाहता हूँ उपयोगकर्ता अन्य इनपुट नहीं दे सकता है (यानी जापानी, चेन के) की तुलना में अंग्रेजी भाषा।रोकें अन्य भाषा

उत्तर

40

आप उपयोगकर्ता पाठ संपादन में केवल विशिष्ट वर्ण दर्ज करने के सीमित कर सकते हैं,

<EditText 
    android:id="@+id/nameText" 
    android:layout_width="177dp" 
    android:layout_height="wrap_content" 
    android:inputType="text" 
    android:digits="abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ" /> 

इस करके, उपयोगकर्ता केवल अंग्रेजी wordds और अंतरिक्ष, और कुछ नहीं प्रवेश कर सकता है ..

+1

+1। हो सकता है कि कुछ संख्या और विराम चिह्न में फेंक देते हैं। – Thilo

+0

यह अभी भी गैर अंग्रेजी कीबोर्ड पॉप अप करता है और उपयोगकर्ता कुछ भी इनपुट करने में असमर्थ है। (भारतीय स्थानीय भाषाओं के साथ सैमसंग फोन पर कोशिश की गई) –

+2

@AmolGupta: यह कोड उपयोगकर्ता को *** abcd के अलावा कुछ भी दर्ज करने से रोकने के लिए है। .. ***। यह किसी भी गैर-अंग्रेज़ी कीबोर्ड खोलने से प्रणाली को रोकने के लिए नहीं है। –

8

आप add a TextWatcher कर सकते हैं जो यह जांचता है कि उपयोगकर्ता क्या दर्ज करने का प्रयास कर रहा है (और जिसे आप नहीं चाहते हैं उसे अस्वीकार कर सकते हैं)।

आप वास्तव में भाषा की जांच नहीं कर सकते हैं, लेकिन मुझे लगता है कि आप केवल चरित्र सेट को सीमित करना चाहते हैं (ASCII या शायद लैटिन -1)।

+0

कैसे अस्वीकार करने के लिए? ? –