반응형
공감 및 댓글은 포스팅 하는데 아주아주 큰 힘이 됩니다!! 포스팅 내용이 찾아주신 분들께 도움이 되길 바라며 더 깔끔하고 좋은 포스팅을 만들어 나가겠습니다^^
|
안드로이드에서 다이얼로그를 만들 때
생성자에 Context context 인자가 있어서
꼭
Dialog d = new Dialog(this);
이런 식으로 넣어줘야 합니다.
그런데 인자가 context이다보니
getApplicatonContext() 를 넣는 경우가 있는데요.
넣게 되면
Unable to add window -- token null is not for an application
에러가 발생하게 됩니다.
때문에 this 를 넣어주거나 클래스이름.this를 넣어줘야 합니다.
또는 context 대신에 activity를 넣어도 되니다.
private Activity activity;
Function(Activity activity) {
this.activity = activity;
}
void showDialog() {
MenuDialog dialog = new MenuDialog(activity);
dialog.setActivity(activity);
if(dialog.getWindow() != null) {
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);
dialog.setCancelable(false);
}
dialog.show();
}
이런 식으로요.
이상입니다.
반응형
'안드로이드' 카테고리의 다른 글
안드로이드 애니메이션 확대 애니메이션 expansion, 축소 애니메이션 reduction (0) | 2018.11.19 |
---|---|
안드로이드 Dialog 외부 영역 투명하게 만들기 (0) | 2018.11.08 |
다이얼로그 외부 터치 안되게, 배경 투명하게 만들기 (0) | 2018.11.05 |
안드로이드 VideoView mp4 재생하기, ImageView에 gif파일 재생하기. (0) | 2018.10.19 |
안드로이드 screen size 스크린 사이즈, 화면 크기 구하는 코드 (0) | 2018.10.17 |