当用户单击操作栏中的图标时,将打开AlertDialog以保存数据。 要输入文件名,将出现一个软键盘。在这个键盘中,我想用DONE更改ENTER按钮。我申请了“.setImeOptions(EditorInfo.IME_ACTION_DONE);”但它不起作用。这是我的AlertDialog代码:
public void openSaveBox(){
final AlertDialog ad = new AlertDialog.Builder(this).create();
ad.setTitle("OCRA score bewaren");
ad.setMessage("Geef een bestandsnaam in:");
final EditText input = new EditText(this);
ad.setView(input);
ad.setButton2("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
String file = input.getText().toString();
bewaren(file);
ad.dismiss();
}
});
ad.setButton("Annuleren", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
ad.dismiss();
}
});
ad.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
input.setImeOptions(EditorInfo.IME_ACTION_DONE);
ad.show();
}
我做错了什么?
答案 0 :(得分:2)
在InputType
之前设置编辑文本输入的ImeOptions
,即
input.setInputType(EditorInfo.TYPE_CLASS_TEXT);
input.setImeOptions(EditorInfo.IME_ACTION_DONE);