popwindow初始时弹出引发的Unable to add window --token null is not valid
2017-01-10 14:53
681 查看
今天在做项目的时候遇到了这个问题,当时我是这样写的
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CommonUtils.initData(this);
setContentView(R.layout.activity_search);
mContext = this;
httpInstance = new HttpInstance();
initView();
historyPop();
historyPop.showAsDropDown(findViewById(R.id.search_layout));
}
然后发现会报这个错误,这个错误有可能是在activity之外
改成如下就好了,用一个线程或者在某个事件里进行。
private Handler popupHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
historyPop.showAsDropDown(findViewById(R.id.search_layout));
historyPop.update();
break;
}
}
};
然后在onCreate方法中这样写
popupHandler.sendEmptyMessageDelayed(0, 100);
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
CommonUtils.initData(this);
setContentView(R.layout.activity_search);
mContext = this;
httpInstance = new HttpInstance();
initView();
historyPop();
historyPop.showAsDropDown(findViewById(R.id.search_layout));
}
然后发现会报这个错误,这个错误有可能是在activity之外
showAsDropDown,或者是在Activity的onCreate()函数里面调用了showAsDropDown,多半是后者,由于你的popupwindow要依附于一个activity,而activity的onCreate()还没执行完,没有pop可以弹出。
改成如下就好了,用一个线程或者在某个事件里进行。
private Handler popupHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
historyPop.showAsDropDown(findViewById(R.id.search_layout));
historyPop.update();
break;
}
}
};
然后在onCreate方法中这样写
popupHandler.sendEmptyMessageDelayed(0, 100);
相关文章推荐
- Unable to add window -- token null is not for an appli,无法在window中弹出对话框
- Unable to add window -- token null is not valid; is your activity running?
- PopupWindow出现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?
- popupwindow使用之异常:unable to add window -- token null is not valid
- - 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 错误解决办法
- popupwindow使用之异常-Unable to add window -- token null is not valid; is your activity running?
- PopupWindow出现Unable to add window -- token null is not valid; is your activity running?
- android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is yo
- Unable to add window -- token null is not valid
- popupwindow异常:unable to add window — token null is not valid
- android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is yo
- Activity has leaked window that was originally added -界面退出时未关闭对话框异常 android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid; is your activity running? -
- unable to add window token null is not valid
- Unable to add window -- token null is not valid
- Unable to add window -- token null is not valid; is your activity running?错误及其修改方法
- popupwindow使用之异常:unable to add window -- token null is not valid
- AndroidException -Unable to add window -- token null is not valid;
- android.view.WindowManager$BadTokenException: Unable to add window -- token null is not valid