您的位置:首页 > 其它

token null is not valid; is your activity running?解决方案

2017-02-24 15:38 561 查看
问题原因:

当popwindow调用时,其依附的parentview(下面函数的第一个参数)还没渲染创建完成,即parentview所在的activity没有完成。

jumpWidnow.showAtLocation( view, Gravity.BOTTOM, 0, 0 );


解决方法:

1,当activity添加到window完成后,再调用popwindow:

public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
Log.d("liudezu","====="+this.getClass().getName()+":onWindowFocusChanged");
if(hasFocus){
//showPopupJumpWindow();
}

}

onWindowFocusChanged(),当window焦点变换后调,当hasFocus = true时,表示获得焦点,即activity渲染完成,window获得焦点。

2,当popwindow附在的parentview,渲染完成后,再调用popwindow:

viewPager.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// do something
showPopupJumpWindow();
viewPager.getViewTreeObserver().removeOnGlobalLayoutListener(this);
}
});

当view渲染完成后,调用onGlobalLayout回调接口。在这里调用。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐