내 코드는 현재 장치를 회전 할 때 해제해야 할 수도있는 대화 상자를 만듭니다.onDestroy에서 객관식 대화 상자를 닫는 방법
들의 OnDestroy에서Builder dialog = new AlertDialog.Builder(context);
alertDialog = dialog.create();
alertDialog.setMessage("Some Heading");
alertDialog.setButton(alertDialog.BUTTON_POSITIVE, "Some Message", dialogClickListener);
alertDialog.setButton(alertDialog.BUTTON_NEGATIVE, "Another Message", dialogClickListener);
alertDialog.show();
, 나는 다음 대화 상자가 표시되는지 확인하고 그런 경우가 있다면 그것을 파괴 할 수 있습니다 :
if ((alertDialog !=null) && (alertDialog.isShowing()))
{
alertDialog.dismiss();
}
다음과 같은 특정 대화 상자에 대한 전 세계적인 선언 다음 코드를
위의 내용은 기본 텍스트 및 단추 기반 대화 상자에서 잘 작동하지만 확인란 및 라디오 단추와 같은 여러 선택 항목을 처리하는 대화 상자도 있습니다.
사람들은 현재 설정은 같습니다
AlertDialog.Builder dialogMultipleChoice = new AlertDialog.Builder(this);
dialogMultipleChoice.setMultiChoiceItems(myList, myCheckedList, new DialogInterface.OnMultiChoiceClickListener(){
@Override
public void onClick(DialogInterface dialog,int which, boolean isChecked) {
checkedList[which] = isChecked;
}}
);
... 등등 .. 여러 선택 대화와
, 나는 내가들의 OnDestroy이 기각 수있는 방법을 볼 수없는, 즉 내가 가진 dialogMultipleChoice.dismiss()를 호출 할 수 없습니다.
참고, dialog.create를 사용할 수 없으므로 setMultiChoiceItems를 호출 할 수 없습니다.
이 문제를 해결하는 데 큰 도움이됩니다. 첫 번째 예에서
안녕하세요, Katharina 님, 불행히도 작동하지 않습니다. 내가하지 않았다는 이유는 dialog.create를 사용하면 다중 선택 항목을 할당 할 수 없기 때문입니다. 그 방법에서 지원되지 않으므로 작동하지 않습니다. – greysqrl
빌더에 아이템을 할당 한 후'dialog.create()'를 호출하십시오. – Katharina