我编写了一个返回值类型为 int 的函数,在这个函数中我需要弹出一个带有两个按钮的 AlertDialog。当点击“Yes”按钮时,函数返回0,“No”按钮返回-1。
public int Func(){
final AlertDialog d=new AlertDialog.Builder(mContext).setTitle("Warning").setCancelable(false).setMessage
(alert)
.setPositiveButton("Yes",mListener).setNegativeButton("No",mListener).create();
d.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
d.show();
if(mWhich.getWhich()==-1) //the "yes" button was clicked
return 0;
else //the "no" button was clicked
return -1;
}
mWhich 是一个用来记录用户选择的类
private DialogInterface.OnClickListener mListener =
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
mWhich.setWhich(which);
}
};
现在问题是代码
if(mWhich.getWhich()==-1)
return 0;
else
return -1;
在用户单击是或否按钮之前执行,我该怎么办?