不同设备上的 EditText IME 操作不同

EditText IME action different on different devices

我有一个 EditText 指定了 IME 操作。

<EditText
    android:id="@+id/passwordEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/prompt_password"
    android:imeActionId="@+id/login"
    android:imeActionLabel="@string/action_sign_in"
    android:imeOptions="actionGo"
    android:inputType="textPassword"
    android:maxLines="1" />

但是在 Nexus 5(Android 5.1.1) 上我得到 IME_ACTION_UNSPECIFIED (0) 而在 Samsung Galaxy(Android 4.2.2) 上我得到 IME_ACTION_GO (2).

这是设备问题还是android版本问题?我该如何解决这个问题?

我不知道为什么,但如果您尝试设置 imeActionId (2)IME_ACTION_GO,它也适用于 Nexus 5(Android 5.1.1)。我希望这个解决方案对你有所帮助。

干杯

<EditText
    android:id="@+id/passwordEditText"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:hint="@string/prompt_password"
    android:imeActionId="2"
    android:imeActionLabel="@string/action_sign_in"
    android:imeOptions="actionGo"
    android:inputType="textPassword"
    android:maxLines="1" />