我有一个AlertDialog,其中有一个EditText和两个典型按钮([取消]和[确定])
工作正常,但我需要拦截Edittext的keyDone,然后我必须关闭AlertDielog。
public static void Dialogo_Observaciones(Context context) {
AlertDialog.Builder builder = new AlertDialog.Builder(context);
builder.setTitle("Observaciones");
builder.setMessage("Ingrese las observaciones");
final EditText input = new EditText(context);
input.setInputType(InputType.TYPE_CLASS_TEXT );
input.setImeOptions(EditorInfo.IME_ACTION_DONE);
input.setOnEditorActionListener(new TextView.OnEditorActionListener() {
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId ==6){
//HERE I must close the AlertDialog and others things
}
return false;
}
});
builder.setView(input);
builder.setPositiveButton("Ok", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
String Valor = input.getText().toString();
if (Valor.equals("") ==false ){
Variables.Observaciones = Variables.Observaciones + " " + Valor.trim();
Variables.Observaciones = Variables.Observaciones.trim();
dialog.cancel();
}else{
dialog.cancel();
}
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int whichButton) {
dialog.cancel();
}
});
builder.show();
}
提前致谢。
答案 0 :(得分:0)
尝试使用
dialog.dimiss()
而不是取消。
另外,你确定if语句正文中的代码在你期望的时候运行吗?