popUpWindow出现以上问题的原因是popUpWindow的弹出需要依附一个activity,所以需要在activity渲染完成之后弹出activity
解决方法一:使用handler延时显示,在handler中调用显示popUpWindow的方法
private Handler popupHandler = new Handler() { @Override public void handleMessage(Message msg) { switch (msg.what) { case 0: remiderUserSign(); break; } } };
解决方法二:重写onWindowFocusChanged方法,在里面调用显示
@Override public void onWindowFocusChanged(boolean hasFocus) { super.onWindowFocusChanged(hasFocus); if(hasFocus && !isRemiderUserSignShow){ isRemiderUserSignShow = true; remiderUserSign(); } }
综上,还是推荐方法二,因为方法一不能彻底解决以上问题(在某些机型上面会报错误)