封装的Dialog对话框,有时候需要获取选项这时候就用到了函数的回调

packagecom.example.testlistq;importandroid.app.AlertDialog;importandroid.content.Context;importandroid.content.DialogInterface;importandroid.view.KeyEvent;publicclassMyDialog{privatestaticAlertDialogdialog;//回调接口publicinterfaceResultCallBack{publicvoidcallback(booleanflag);}publicstaticvoidshowDialog(Contextcontext,Stringstr,finalResultCallBackmRCallBack){dialog=newAlertDialog.Builder(context).setTitle("提示").setMessage(str).setPositiveButton("确定",newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){if(mRCallBack!=null){mRCallBack.callback(true);}}}).setNegativeButton("取消",newDialogInterface.OnClickListener(){@OverridepublicvoidonClick(DialogInterfacedialog,intwhich){if(mRCallBack!=null){mRCallBack.callback(false);}}}).create();dialog.setCancelable(false);dialog.setOnKeyListener(newDialogInterface.OnKeyListener(){@OverridepublicbooleanonKey(DialogInterfacedialog,intkeyCode,KeyEventevent){if(keyCode==KeyEvent.KEYCODE_SEARCH){//屏蔽搜索键returntrue;}else{returnfalse;//默认返回false}}});dialog.show();}}


//调用实例

MyDialog.showDialog(this,"回调窗口",newResultCallBack(){@Overridepublicvoidcallback(booleanflag){//TODOAuto-generatedmethodstubToast.makeText(MainActivity.this,"flag="+flag,Toast.LENGTH_SHORT).show();}});