我的布局有4个EditText视图和一个提交Button视图。我需要为前3个EditText设置“Next”按钮,为第4个EditText字段设置“Done”按钮,而不是软键盘的“New Line”键。
如何做到这一点?
答案 0 :(得分:69)
在您的布局中,只需为前三个文本框设置XML属性android:imeOptions="actionNext"
,为最后一个文本框设置android:imeOptions="actionDone"
。
请参阅:android:imeOptions documentation
此外,training docs中有一个小的XML示例。
答案 1 :(得分:6)
将焦点导航到下一个编辑字段添加
机器人:imeOptions = “flagNavigateNext”
并点击完成后点击添加
解除软键你布局上的机器人:imeOptions = “actionDone”
:)
答案 2 :(得分:2)
在按钮xml中添加android:singleLine="true"
答案 3 :(得分:1)
我认为你所寻找的是这样的:
EditText nextText = new EditText(this)
{
@Override
public InputConnection onCreateInputConnection(final EditorInfo outAttrs)
{
outAttrs.imeOptions |= EditorInfo.IME_ACTION_NEXT;
return (super.onCreateInputConnection(outAttrs));
}
};
EditText doneText = new EditText(this)
{
@Override
public InputConnection onCreateInputConnection(final EditorInfo outAttrs)
{
outAttrs.imeOptions |= EditorInfo.IME_ACTION_DONE;
return (super.onCreateInputConnection(outAttrs));
}
};
首先将用户带到接受文本的布局中的下一个字段。第二个将关闭IME(软键盘)。