XML
<EditText
android:id="@+id/login_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@drawable/rectangular_border_edittext"
android:hint="@string/enter_password"
android:inputType="textPassword"
android:maxLines="1"
android:padding="8dp" />
JAVA
password.setSingleLine();
password.setImeOptions(EditorInfo.IME_ACTION_NEXT); password.setImeActionLabel(getResources().getString(R.string.goButton), EditorInfo.IME_ACTION_NEXT);
password.setOnEditorActionListener((v, actionId, event) -> {
if (actionId == EditorInfo.IME_ACTION_NEXT) {
checkPasswordAndSend();
}
return false;
});
如果有人遇到类似问题,请告诉我。另外我想告诉你我正在使用最新版本的支持库。(25.3.1)。
答案 0 :(得分:3)
所以我明白了。密码中的maxlines属性倾向于此行为。从xml中删除maxLines = 1并从java中删除setSingleLine,一切都恢复正常。不知道为什么会这样,但只是有效。 希望这有助于某人。
答案 1 :(得分:2)
在 XML :
中删除此行android:maxLines="1"
你应该有这个:
<EditText
android:id="@+id/login_password"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:background="@drawable/rectangular_border_edittext"
android:hint="@string/enter_password"
android:inputType="textPassword"
android:padding="8dp" />
并在您的 JAVA 中保留此行,例如:
password.setSingleLine();