web-dev-qa-db-ja.com

Androidソフトキーボードアクションボタン

レイアウトには、4つのEditTextビューと送信ボタンビューがあります。最初の3つのEditTextの「次へ」ボタンと、ソフトキーボードの「改行」キーの代わりに、4番目のEditTextフィールドの「完了」ボタンが必要です。

これをどのように行うことができますか?

35
Venkat Papana

レイアウトで、XML属性を設定するAndroid:imeOptions="actionNext"最初の3つのテキストボックスとAndroid:imeOptions="actionDone"最後の1つ。

参照: Android:imeOptions documentation

また、 training docs には小さなXMLの例があります。

69
Martin Stone

次の編集フィールドにフォーカスを移動するには

Android:imeOptions = "flagNavigateNext"

[追加]をクリックしてソフトキーを閉じる

Android:imeOptions = "actionDone"

あなたのレイアウトに:)

6
jibysthomas

追加 Android:singleLine="true"ボタンxml内

2
Aneh Thakur

あなたが探しているのは次のようなものだと思います:

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

最初に、テキストを受け入れるレイアウトの次のフィールドにユーザーを移動します。 2番目はIME(ソフトキーボード)を閉じます。

1