06-20 20:28:03.471: E/AndroidRuntime(14985): android.view.WindowManager$BadTokenException: Unable to add window -- token android.app.LocalActivityManager$LocalActivityRecord@405146c0 is not valid; is your activity running?
한 세시간을 삽질했다.
Dialog를 띄우는 데 저 에러가 발생했다.
아무리 찾아보고 삽질하고 코드를 바꿔봐도 해결되지 않았는데
에러 로그 중 WindowManager에서 에러를 띄우길래 의심은 했었지만 그게 원인일 줄이야.orz
지금 개발중인 앱은 TabActivity로 메뉴를 구현해 놓았는데 같은 레벨 선상 Activity가 존재하는 구조로 인해 Tab하나에 여러개의 Activity를 연결해야하는 상황이어서 ActivityGroup을 상속받는 부모 Class에서 자식 클래스를 관리하고 있는 상황.
때문에 해당 Dialog를 띄우는 Activity의 주체는 본인이 아니라 실질적 뷰를 관리하고 있는 부모 Activity라는 것이었던 것이다!!!!(아 놀라워라...자식은 무용지물이야..)
때문에
new AlertDialog.Builder()를 할때 getParent()함수를 호출해서 부모를 불러줘야 에러가 발생하지 않는다.
this 호출했다가 계속 삽질했음.
댓글 없음:
댓글 쓰기