android - nextfocusforward - 將EditText imeOptions設置為actionNext無效




android:imeoptions (6)

我有一個相當複雜(不是真的)的xml佈局文件。 其中一個視圖是帶有兩個子節點的LinearLayout( v1 ):EditText( v2 )和另一個LinearLayout( 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>

https://code.i-harness.com


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"
        />

不推薦使用singleLine 。 添加輸入類型(例如: android:inputType="text" )也對我android:inputType="text"

使用android:maxLines="1"因為不推薦使用singleLine


只需將android:maxLines="1" & android:inputType="text"到EditText即可。 它會工作!! :)


最後我確定這個問題的解決方案只需在編輯文本中添加這三行 ,它就能正常工作

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

在這裡,您可以根據您的要求添加maxLines不要使用singleLine,因為它現在已棄用。 祝你好運!


這裡給出的答案都非常有用,但我仍然在努力讓我的鍵盤顯示“Next”。

事實證明,當你在XML中使用Android的android:digits屬性時,它會阻止android:imeOptions="actionNext"按預期工作。

答案實際上是使用棄用的android:singleLine="True" 。 這似乎迫使IME Option受到尊重。

舊的,非工作代碼

        <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" />

我不喜歡使用不推薦使用的屬性,但是現在它似乎得到了理想的結果。


<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"
             />




ime