0
내 코드의 NegativeButton를 설정합니다 :방법은 아래에 AlertDialog.Builder unclickable
AlertDialog.Builder dialog = new AlertDialog.Builder(this);
dialog.setTitle("Dialog");
dialog.setPositiveButton("Check", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
if(condition) {
//set NegativeButton unclickable
} else {
//set NegativeButton clickable
}
} // end of onClick
});
dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface arg0, int arg1) {
//do something
}
});
어떻게 NegativeButton 클릭하고 unclickable 설정?
try {
Field field = dialog.getClass().getSuperclass().getDeclaredField("mShowing");
field.setAccessible(true);
field.set(dialog, false);
}
catch(Exception e) {
e.printStackTrace();
}
이는 아무것도 할 수 있지만, 여전히 클릭 : 코드 아래
... ...
AlertDialog alertDialog = alertDialogBuilder.create();
alertDialog.show();
if(condition) {
//set NegativeButton unclickable
alertDialog.getButton(Dialog.BUTTON_NEGATIVE).setClickable(false);
} else {
//set NegativeButton clickable
alertDialog.getButton(Dialog.BUTTON_NEGATIVE).setClickable(true);
}
NULL 포인터 오류 – brian
@ 브라이언, 아마도 alertDialog.show() 호출이 필요합니다. 먼저 대답을 업데이트했습니다. – yorkw