int 型の戻り値を持つ関数を作成しました。この関数では、2 つのボタンで AlertDialog をポップアップする必要があります。「はい」ボタンをクリックすると関数は0を返し、「いいえ」ボタンをクリックすると-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;
ユーザーが「はい」または「いいえ」ボタンをクリックする前に実行されました。どうすればよいですか??