android उनल एडिट करने के लिए संपादन टेक्स्ट IMEOptions सेट करना अंकों का उपयोग करते समय अगला कोई प्रभाव नहीं पड़ता है




फोटो एडिटर ऐप्स डाउनलोड (5)

android:maxLines अधिकतम लाईन्स केवल android:maxLines बना देता है , अधिक से अधिक इन लाइनों को लंबा बनाएं , उपयोगकर्ता को इनपुट और अधिक वर्णों से रोका नहीं।

android:lines साथ ही android:lines केवल android:lines जो केवल TextView बनाते हैं, ठीक उसी तरह ये कई लाइनें लंबा होती हैं।

यहां मेरी संपादिका: -

    <com.os.fastlap.util.customclass.EditTextPlayRegular
                    android:id="@+id/full_name_et"
                    style="@style/Edittext_white_13sp"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_marginTop="@dimen/_5sdp"
                    android:background="#00ffffff"
                    android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
                    android:imeOptions="actionNext"
                    android:inputType="text"
                    android:maxLength="20"
                    android:maxLines="1"
                    android:nextFocusDown="@+id/last_name_et"
                    android:textCursorDrawable="@null" /> 

जब मैं अंडाटिक्ट में अंक निकालता हूं तो यह ठीक काम करता है लेकिन digit साथ imeOptions काम नहीं करता है लेकिन एक आश्चर्यजनक बात अगर मैं singleLine बजाय singleLine उपयोग singleLine हूं तो यह ठीक काम करता है। लेकिन singleLine अब नापसंद है मैं अपने edittext में अंक नहीं निकाल सकता और मैं नापसंद विधि का उपयोग नहीं करना चाहता कोई भी इस समस्या को हल कर सकता है एडवेंस में धन्यवाद


समस्या यह है कि आप कार्रवाई के बजाय एन्टर कुंजी पर क्लिक कर रहे हैं, अगले कर्ता को अगली एडिटटेक्स्ट ले जाने के लिए आपको अगला आवश्यकता है

इनपुट विधि क्रिया निर्दिष्ट करें

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

यह आपके एक्शन बटन के लिए गाड़ी वापसी का कारण बनता है तो इसका अर्थ है कि android:nextFocusDown आग लगती नहीं है android:nextFocusDown

सबसे पहले, यह देखते हैं कि सिंगल लाइन के बीच अंतर क्या है जो नापसंद और अधिकतमलाइन है

इकलौती रेखा

जब आप android:singleLine="true" सेट करते हैं android:singleLine="true" एक पंक्ति टेक्स्ट android:singleLine="true" टेक्स्ट में दिखाई देता है, लेकिन कुंजी दर्ज कीपैड में दिखाई नहीं दे रही है

Maxlines

जब आप android:maxLines सेट करते हैं android:maxLines विशेष मूल्य के साथ android:maxLines विशेषता केवल पाठ टेक्स्ट की ही मात्रा को संपादित करते हैं और प्रवेश के लिए कीपैड में भी कुंजी दर्ज करते हैं।

इसलिए जब आप क्रिया बटन पर क्लिक करते हैं तो यह आपके कोड के अनुसार कार्रवाई दर्ज करें। इसके अलावा आपको एंड्रॉइड के साथ अपने इनपुट टाइप विशेषता को बदलना होगा android:inputType="textMultiLine" यदि आप android:maxLines उपयोग करते हैं android:maxLines विशेषता

Maxlines

एपीआई स्तर 1 में जोड़ दिया गया है int maxlines TextView को अधिक से अधिक इस लाइनें लंबा बनाते हैं। जब एक संपादन योग्य पाठ पर उपयोग किया जाता है, इनपुटटाइप विशेषता का मान टेक्स्ट मैल्टीलाइन ध्वज के साथ जुड़ा होना चाहिए, जो लागू करने के लिए अधिकतम लिंक्स विशेषता है।

एक पूर्णांक मान हो सकता है, जैसे "100"

जब मैंने आपके कोड को सही विशेषताओं के साथ कस्टमाइज़ किया तो फिर भी यह IME_ACTION_NEXT के बजाय Enter कुंजी फायरिंग था, जिसे आप चाहते हैं मुझे लगता है कि इसके कारण समस्या का समाधान नहीं हुआ

textMultiLine को पाठ में और इसके भिन्नरूपों के साथ जोड़ा जा सकता है ताकि क्षेत्र में पाठ की कई पंक्तियां हो सकें। यदि यह फ़्लैग सेट नहीं है, तो पाठ फ़ील्ड एक पंक्ति में विवश हो जाएगी TYPE_TEXT_FLAG_MULTI_LINE के अनुरूप

TYPE_TEXT_FLAG_MULTI_LINE

एपीआई स्तर 3 में जोड़ा गया TYPE_TEXT_FLAG_MULTI_LINE TYPE_CLASS_TEXT के लिए ध्वजांकित: फ़ील्ड में पाठ की कई पंक्तियां दर्ज की जा सकती हैं। यदि यह फ़्लैग सेट नहीं है, तो पाठ फ़ील्ड एक पंक्ति में विवश हो जाएगी आईएमई इस फ्लैग सेट नहीं होने पर एन्टर कुंजी को प्रदर्शित नहीं करना भी चुन सकता है , क्योंकि नई लाइन बनाने की कोई आवश्यकता नहीं होनी चाहिए।

निरंतर मान: 131072 (0x00020000)

उपाय:

उपवर्ग संपादनटैच करें और IME विकल्प समायोजित करें उसके बाद आपको android:maxLines आवश्यकता नहीं है android:singleLine या android:singleLine गुण।

@Override
    public InputConnection onCreateInputConnection(EditorInfo outAttrs) {
        InputConnection connection = super.onCreateInputConnection(outAttrs);
        int imeActions = outAttrs.imeOptions&EditorInfo.IME_MASK_ACTION;
        if ((imeActions&EditorInfo.IME_ACTION_NEXT) != 0) {
            // clear the existing action
            outAttrs.imeOptions ^= imeActions;
            // set the DONE action
            outAttrs.imeOptions |= EditorInfo.IME_ACTION_NEXT;
        }
        if ((outAttrs.imeOptions&EditorInfo.IME_FLAG_NO_ENTER_ACTION) != 0) {
            outAttrs.imeOptions &= ~EditorInfo.IME_FLAG_NO_ENTER_ACTION;
        }
        return connection;
    }

आप यहां एक और पोस्ट भी देख सकते हैं । मैंने आपके उद्देश्य पर इस पोस्ट का स्वीकृत उत्तर पुन: कॉन्फ़िगर किया है


आप उपयोग कर सकते हैं

 android:lines="1"

की जगह में

android:maxLines 

या

android:singleLine="true".

मुझे पता है आपने कई समाधानों की कोशिश की है, कोशिश करो

android:lines="1"

ये अगर आपने पहले की कोशिश नहीं की है


android:digits बताता है कि दस्तावेज़ के अनुसार, संपादन टेक्स्ट में एक संख्यात्मक इनपुट पद्धति है

आप android:inputType="personName" उपयोग कर सकते हैं android:inputType="personName" अपने वर्तमान digits android:inputType="personName" के समान प्राप्त करने के लिए


यहां सॉफ़्टवेयर कीबोर्ड बटन "अगला" के साथ एक सरल समाधान है:

final String NOT_ALLOWED_CHARS = "[^a-zA-Z0-9]+";

final EditText editText = (EditText) findViewById(R.id.editText);
editText.addTextChangedListener(new TextWatcher() {
        @Override
        public void beforeTextChanged(CharSequence s, int start, int count, int after) {}

        @Override
        public void onTextChanged(CharSequence s, int start, int before, int count) {}

        @Override
        public void afterTextChanged(Editable s) {
            if (!TextUtils.isEmpty(s)) {
                // remove the listener to avoid Exception
                editText.removeTextChangedListener(this);
                // replace not allowed characters with empty strings
                editText.setText(s.toString().replaceAll(NOT_ALLOWED_CHARS, ""));
                // setting selection moves the cursor at the end of string
                editText.setSelection(editText.getText().length());
                // add the listener to keep watching
                editText.addTextChangedListener(this);
            }
        }
    });

यहां नियमित अभिव्यक्ति [^a-zA-Z0-9]+ android:digits के अनुमत मूल्यों से मेल खाती है android:digits प्रश्न के EditText android:digits





android-edittext