- Unable to add window -- token null is not valid; is your activity running?

861 ワード

Android開発エラーUnable to add window--token null is not valid;is your activity running?
  • Unable to add window -- token null is not valid; is your activity running? Activityで1つのPopupWindowをshowし、上記のエラーが発生し、最後に発見されたのは、ActivityのonCreateでメソッドでShowメソッドが呼び出されたためであり、この時点でActivityはViewがまだ初期化が完了していない可能性があり、我々showAsDropDown(View view,int i,int i)方法またはshowAtLocationメソッドでViewが呼び出されたため、このエラーが発生し、ネット上ではHandler方式を利用してPopupWindowの呼び出しを遅らせる展示があり、例えば:
        @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
            case 0:
                popupWindow.showAtLocation(findViewById(R.id.rlShowImage), Gravity.CENTER|Gravity.CENTER, 0, 0);
                popupWindow.update();
                break;
            }
        }
        
    };
    
    という方法は解決策であり、さらに簡単な方法はonStart法ではnew PopupWindowオブジェクト、さらにShowであれば同じ理屈で、Dialogの使用中にこのエラーが発生しても
  • を解決することができる.