首页 > 学院 > 开发设计 > 正文

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

2019-11-08 00:06:21
字体:
来源:转载
供稿:网友

问题原因:

当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回调接口。在这里调用。


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表