我的场景是自定义一个popupwindow,然后再activityA跳转到activityB的的时候,B里面有个借口请求,开始请求是show,然后报了这个错,意思就是我的activity还未完全运行起来,就show了pop窗口
既然activity还未完全运行起来,那么我们就要加个判断去判断activity是否已经启动,isAttachedToWindow,这个方法的意思就是判断activity是否已经初始化完成并且可以被调用
上代码
public void show(){
Activity topActivity = ActivityUtils.getTopActivity();
if(topActivity instanceof AppCompatActivity) {
View decorView = topActivity.getWindow().getDecorView();
if (decorView.isAttachedToWindow()) {
showAtLocation(topActivity.getWindow().getDecorView(), Gravity.CENTER,0,0);
}else {
decorView.addOnAttachStateChangeListener(new View.OnAttachStateChangeListener() {
@Override
public void onViewAttachedToWindow(View v) {
showAtLocation(topActivity.getWindow().getDecorView(), Gravity.CENTER,0,0);