问题描述: 遇到此问题的原因是在 Activity 的 oncreate() 方法里直接显示 PopupWindow 造成的问题。
大部分原因是因为 Activity 还没有初始化完成 PopupWindow 所依赖的 view 并没有初始化,所以也就不会显示出来。
直接上代码解决过程吧;
@SuppressLint("HandlerLeak")
private Handler popupHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
switch (msg.what) {
case 0:
showTipDiolog(tvTitle);
break;
default:
break;
}
}
};
然后在合适的地方调用:
@Override
protected void onResume() {
super.onResume();
if (isshow) {
popupHandler.sendEmptyMessageDelayed(0, 1000);
}
}
根据自己业务逻辑自行选择调用位置即可。
以上方法自测可行。
参考网址:http://cb269267.iteye.com/blog/1787779
希望能对大家有所帮助,欢迎大家一起讨论交流。