showDialog() 함수를 부르면 onCreateDialog() 함수가 불리고 다음 onPrepareDialog() 함수가 불린다.
onCreateDialog() 함수에서 AlertDialog 를 생성하고 getButton() 함수로 버튼을 얻으려고 해봤지만 null 값이 리턴된다.
onPrepareDialog() 함수에서 button 을 얻어와 활성화 설정을 하면 된다.
예)
팁) 다이얼로그가 떠 있는 상태에서 showDialog() 함수를 부르면 onCreateDialog() 함수는 불리지 않고 onPrepareDialog() 함수만 불린다.
- 주기적으로 업데이트가 필요하면 다이얼로그가 떠 있는 상태에서 showDialog() 를 부르고 처리는 onPrepareDialog() 함수에서 하게 처리하면 된다.
참고: http://tjandroid.blogspot.com/2011/12/dialog.html
@Override
protected void onPrepareDialog(int id, Dialog dialog, Bundle args) {
switch (id) {
case 0:
((AlertDialog)dialog).getButton(AlertDialog.BUTTON_POSITIVE).setEnabled(false);
break;
default:
break;
}
super.onPrepareDialog(id, dialog, args);
}
팁) 다이얼로그가 떠 있는 상태에서 showDialog() 함수를 부르면 onCreateDialog() 함수는 불리지 않고 onPrepareDialog() 함수만 불린다.
- 주기적으로 업데이트가 필요하면 다이얼로그가 떠 있는 상태에서 showDialog() 를 부르고 처리는 onPrepareDialog() 함수에서 하게 처리하면 된다.
참고: http://tjandroid.blogspot.com/2011/12/dialog.html
(Dialog 내용 주기적으로 업데이트하기)
댓글 없음:
댓글 쓰기