EditText imeOptions को actionNext पर सेट करने से कोई प्रभाव नहीं पड़ता है


94

मेरे पास काफी जटिल (वास्तव में नहीं) xml लेआउट फ़ाइल है। विचारों में से एक v1दो बच्चों के साथ एक रेखीयआउट ( v2) है : एक एडिटटेक्स्ट ( ) और दूसरा लिनलेयआउट ( v3)। बदले में बच्चे LinearLayout में एक EditText ( v4) और एक ImageView ( v5) है।

EditText v2 के लिए मेरे पास imeOptions है

android:imeOptions="actionNext"

लेकिन जब मैं ऐप चलाता हूं, तो कीबोर्ड returnइसकी जांच नहीं करता है nextऔर मैं चाहता हूं कि यह बदल जाए next। मैं इस समस्या को कैसे हल करूं?

इसके अलावा, जब उपयोगकर्ता अगला क्लिक करता है, तो मैं EditText v4 पर जाना चाहता हूं। मैं यह करता हूं?

उन लोगों के लिए जिन्हें वास्तव में कुछ कोड देखने की जरूरत है:

<LinearLayout
        android:id="@+id/do_txt_view"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/col6"
        android:orientation="vertical"
        android:visibility="gone" >

        <EditText
            android:id="@+id/gm_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_margin="5dp"
            android:background="@drawable/coldo_text"
            android:hint="@string/enter_title"
            android:maxLines="1"
            android:imeOptions="actionNext"
            android:padding="5dp"
            android:textColor="pigc7"
            android:textSize="ads2" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="100dp"
            android:orientation="horizontal" >

            <EditText
                android:id="@+id/rev_text"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_gravity="center_vertical"
                android:layout_margin="5dp"
                android:layout_weight="1"
                android:background="@drawable/coldo_text"
                android:hint="@string/enter_msg"
                android:maxLines="2"
                android:padding="5dp"
                android:textColor="pigc7"
                android:textSize="ads2" />

            <ImageView
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:layout_gravity="center_vertical"
                android:background="@drawable/colbtn_r”
                android:clickable="true"
                android:onClick=“clickAct”
                android:paddingLeft="5dp"
                android:paddingRight="5dp"
                android:src="@drawable/abcat/>
        </LinearLayout>
    </LinearLayout>

मुझे यकीन नहीं है कि यह उन विचारों के लिए काम करेगा जो भाई-बहन नहीं हैं, लेकिन आप जोड़ने की कोशिश कर सकते हैं android:nextFocusDown="@id/edit_text_v4"(शायद android:nextFocusForwardअगले नेफोकस विशेषताओं में से कुछ या कुछ भी प्रयास करें )।
करकुरी

@ कारकुरी यह काम नहीं किया। ध्यान दें कि अगला बटन बिल्कुल दिखाई नहीं दे रहा है। बटन अभी भी रिटर्न बटन है।
केट्रेडल पिलोन

1
@KatedralPillon क्या आपने इसे हल करने का प्रबंधन किया? यदि हाँ तो क्या आप यहाँ अपना समाधान पोस्ट कर सकते हैं? मैं उसी मुद्दे का सामना कर रहा हूं।
h4ck3d

जवाबों:


189

बस android:maxLines="1" & android:inputType="text"अपने EditText में जोड़ें । यह काम करेगा!! :)


3
अपने EditText की ऊँचाई को wra_content के रूप में सेट करने का प्रयास करें।
सुरेन्द्र कुमार

4
साथ काम भी नहीं कर रहा है wrap_content । स्थापना एक inputTypeमेरे मामले में समस्या हल हो।
मैनफ़कस

3
का उपयोग android:maxLines="1"करने के बजाय android:singleLine="true"के रूप में अपनी पदावनत
blueware

9
हालांकि, `android: singleLine =" true "` को डिप्रेस्ड किया गया है, लेकिन कुछ maxLine="1"काम नहीं करता है , जबकि ट्रिक कैसी है ।
परेश पी।

2
Imeoptions काम करने के लिए आपको इनपुट टाइप = "टेक्स्ट" सेट करना होगा।
दुरान जैसन

49

singleLineपदावनत किया गया है। एक इनपुट प्रकार (उदाहरण:) जोड़ना android:inputType="text"भी मेरे लिए काम किया।

उपयोग के android:maxLines="1"रूप singleLineमें पदावनत किया जाता है


1
यह सही जवाब है!! imeOptions और maxLines पर इनपुट के बिना कोई प्रभाव नहीं होगा
क्रिस्टोफर स्मित

43

android:singleLineपदावनत कर दिया गया है, इसके android:maxLines="1"साथ गठबंधन करना बेहतर है android:inputType="text"। यह कोड होगा:

<EditText
        android:id="@+id/editText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" 
        android:maxLines="1"
        android:inputType="text"
        />

21

यहाँ दिए गए उत्तर सभी बहुत उपयोगी थे, लेकिन मैं अभी भी अपने कीबोर्ड के "नेक्स्ट" को दिखाने के लिए संघर्ष कर रहा था।

यह बताता है कि जब आप android:digitsअपने XML में Android की विशेषता का उपयोग करते हैं, तो यह android:imeOptions="actionNext"अपेक्षित रूप से काम करने से रोकता है।

जवाब वास्तव में पदावनत का उपयोग करना है android:singleLine="True"। यह आईएमई विकल्प को सम्मान देने के लिए मजबूर करता है।

पुराना, गैर-कार्य कोड

        <android.support.design.widget.TextInputEditText
            android:id="@+id/first_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ- "
            android:ellipsize="end"
            android:hint="@string/first_name"
            android:imeOptions="actionNext"
            android:inputType="textCapWords"
            android:maxLength="35"
            android:maxLines="1" />

कार्य कोड

        <android.support.design.widget.TextInputEditText
            android:id="@+id/first_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:digits="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ- "
            android:ellipsize="end"
            android:hint="@string/first_name"
            android:imeOptions="actionNext"
            android:inputType="textCapWords"
            android:maxLength="35"
            android:maxLines="1"
            android:singleLine="true" />

मैं पदावनत विशेषता का उपयोग करने का प्रशंसक नहीं हूं, लेकिन अब यह वांछित परिणाम प्राप्त करने के लिए लगता है।


धन्यवाद पदावनत लेकिन यह काम कर रहा है !! भविष्य में कोई समस्या आएगी?
Arbaz.in

11

सिंगल लाइन पदावनत तो आप नीचे कोड जोड़ मुझे लगता है कि इनपुट टाइप होना चाहिए।

        <EditText 
            android:inputType="text"
            android:maxLines="1"
            android:imeOptions="actionNext" />

10

अंत में मुझे इस मुद्दे के लिए निश्चित समाधान मिल गया है बस अपने संपादित पाठ में इन 3 पंक्तियों को जोड़ें और यह ठीक काम करेगा

        android:maxLines="1"
        android:inputType="text"
        android:imeOptions="actionDone"

यहां आप अपनी आवश्यकता के अनुसार अधिकतम लाइन्स जोड़ सकते हैं । सिंगललेन का उपयोग करें क्योंकि यह अब अपदस्थ है। सौभाग्य!


8
android:inputType="text"

आपको imeOptions को कार्य करने के लिए एक इनपुट टाइप निर्दिष्ट करना होगा।


क्या होगा यदि अंतिम आइटम फॉर्म में पासवर्ड है?
silentsudo

5

यहां कुंजी इनपुट प्रकार और imeOptions विशेषताओं को सेट करना है

<EditText 
   android:inputType="number"
   android:maxLines="1"
   android:imeOptions="actionSearch" />

5

केवल इसने मेरे लिए काम किया।

बदल दें:

android:maxLines="1"
android:inputType="text"
android:imeOptions="actionNext"

उस पर:

android:singleLine="true"
android:inputType="text"
android:imeOptions="actionNext"

inputType = "text" ने इसे मेरे लिए किया।
हैकमफोर्ड

वही inputeType = "text" मेरे लिए काम करता है
wesley franks

4
<EditText
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/auth_register_re_password"
    android:hint="Enter Password Again"
    android:imeActionLabel="login"
    android:gravity="center"
    android:imeOptions="actionUnspecified"
    android:inputType="textPassword"
    android:maxLines="1"/>

actionUnspecifiedवास्तव में क्या करता है।
शुभम नाइक


4

ये तीन रेखाएँ पर्याप्त हैं।

android:singleLine="true"
android:inputType="text"
android:imeOptions="actionNext"
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.