开发者

Android Soft keyboard action button

My layout has 4 EditText views and a submit Button view. I need to have "Next" button for the first 3 EditTe开发者_JAVA技巧xt's and a "Done" button for 4th EditText field in place of a "New Line" key of soft keyboard.

How can this be done?


In your layout, just set the XML attributes android:imeOptions="actionNext" for your first three text boxes and android:imeOptions="actionDone" for the last one.

See: android:imeOptions documentation

Also, there's a small XML example in the training docs.


to navigate the focus to the next edit field add

android:imeOptions="flagNavigateNext"

and for dismissing the softkey with done click add

android:imeOptions="actionDone"

on your layout :)


Add android:singleLine="true" in your button xml


I think what you're looking for is something like this:

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));
    }
};

It first one will take the user to the next field in the layout that accepts text. The second will close the IME (the soft keyboard).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜