32

input.setImeOptions(EditorInfo.IME_ACTION_DONE);を使用して、ソフトキーボードの「完了」ボタンを設定しようとしました。

しかし、「完了」ボタンはソフトキーボードに表示されません。

何か提案はありますか?

public void modif(int position) {
    AlertDialog.Builder alert = new  AlertDialog.Builder(MainActivity.this);
    alert.setTitle("Modifica");
    EditText input = new EditText(MainActivity.this);
    input.setImeOptions(EditorInfo.IME_ACTION_DONE);
    alert.setView(input);
    final Editable value = input.getText();
    alert.setPositiveButton("Ok", new DialogInterface.OnClickListener() {  
        public void onClick(DialogInterface dialog, int whichButton) {
            Toast.makeText(getApplicationContext(), value,   Toast.LENGTH_LONG).show();
        }
    });

    alert.setNegativeButton("Cancel", new     DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int whichButton) {
        // Canceled.
        }
    });
    alert.show();                   
}
4

1 に答える 1

63

おそらく、入力フィールドが単一行ではないためです。

追加してみる

input.setSingleLine();

また、キーボードのアクション キーを押すと、実際に「完了」アクションが実行されることがわかります (つまり、キーボードを閉じます)。

http://developer.android.com/reference/android/view/inputmethod/EditorInfo.html#IME_ACTION_DONEを参照してください。

于 2012-11-26T09:25:09.813 に答える