setImeOptions:为什么“完成”按钮不会显示软键盘上?(setImeOptions: wh

2019-08-03 04:51发布

我尝试使用input.setImeOptions(EditorInfo.IME_ACTION_DONE)设置在softkeyboard“完成”按钮;

但“完成”按钮根本不显示在softkeyboard。

任何建议吗?

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

Answer 1:

这可能是因为你的输入字段不是单成荫。

尝试添加

input.setSingleLine();

你会看到,按下键盘的操作键将实际执行一个“完成”行动(即关闭键盘)

见http://developer.android.com/reference/android/view/inputmethod/EditorInfo.html#IME_ACTION_DONE



文章来源: setImeOptions: why the “Done” button does not show on the soft keyboard?