반응형
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application 해결방법
해당 문제는 보통 Toast 나 Dialog 와 같이 dialog 종류의 view( or window ) 를 호출할 때 발생하는 에러이다.
이 에러가 발생하는 원인은 Toast 와 Dialog 가 Activity 에 종속적인데, Activity 혹은 Activity의 context가 전달되지 않기 때문이다.
Toast.makeText( context, message, duration ).show()
AlertDialog.Builder( context );
위와 같이 Toast 와 Dialog 를 생성할 때 전달하는 context 는 context.getApplicationContext() 로 구한 어플리케이션 컨텍스트가 아닌, Activity 의 context를 전달해야 한다. 즉.. 다음과 같이 말이다.
Toast.makeText( this, message, duration ).show(); // this 는 activity
Toast.makeText( HelloWorldActivity.this, message, duration ).show();
AlertDialog.Builder( this ); // this 는 activity
AleryDialog.Builder( HelloWorldActivity.this );
이렇게 하면 문제 해결!
도움이 되셨다면 손가락 꾸욱~ ( 로그인 필요 x )
반응형
'프로그래밍 놀이터 > 안드로이드, Java' 카테고리의 다른 글
[android/안드로이드] http cookie management. (2) | 2012.10.13 |
---|---|
[android] ListView 의 cacheColorHInt 값의 의미 (0) | 2012.10.13 |
[android] http reqeust ( HttpPost, HttpGet ) 에 cookie 넣기 (2) | 2012.10.13 |
[android] 왜 ICS부터는 virtual navigation controls로 바뀌었는가? (software back, home, menu, recent ) (0) | 2012.10.13 |
[android/안드로이드] pre-scaling & auto-scaling & compatible mode (0) | 2012.10.06 |
댓글