开发者

Android Soft keyboard action button

开发者 https://www.devze.com 2023-03-06 12:33 出处:网络
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

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

精彩评论

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