将EditText设置为单行使其在按Enter后失去焦点

时间:2013-12-10 12:48:04

标签: java android android-edittext adp

我在代码中使用EditText,并在单击按钮时将其内容与字符串进行比较。 不幸的是,通过onKey使用enter键执行此操作会导致问题,因为enter会创建一个 越线。 我用过:

setSingleLine(true);

防止这种情况发生。但现在按Enter键会导致EditText失去焦点。 为什么它会像这样,我该如何解决?

2 个答案:

答案 0 :(得分:2)

尝试在您的布局xml中使用此android:lines="1"来编辑EditText。

这会将Enter键视为新行,焦点不会松动。虽然由于只有一行,现有文本可能不可见,因为它向上移动并隐藏。

答案 1 :(得分:0)

将EditText设置为自身的下一个焦点:

<EditText
    android:id="@+id/input"
    ...
    android:imeOptions="actionNext"
    android:nextFocusForward="@+id/input"
    android:singleLine="true" />