gpt4 book ai didi

单击 BadTokenException 时出现 Android Spinner 异常

转载 作者:太空宇宙 更新时间:2023-11-03 11:58:52 27 4
gpt4 key购买 nike

单击微调器(在弹出窗口中)时出现问题

这是我的弹出窗口:

public class PopupDialog extends PopupWindow  {

public PopupDialog() {
super();
init();
}

public PopupDialog(View contentView, int width, int height) {
super(contentView, width, height);
init();
}

public PopupDialog(View contentView) {
super(contentView);
init();
}

private void init() {
this.setTouchable(true);
this.setFocusable(true);
this.setOutsideTouchable(true);
setBackgroundDrawable(new BitmapDrawable());

this.setTouchInterceptor(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_OUTSIDE) {
PopupDialog.this.dismiss();

return true;
}

return false;
}
});

}

}

单击显示弹出窗口的按钮:

public void click(View v) {
LayoutInflater layoutInflater
= (LayoutInflater)getBaseContext()
.getSystemService(LAYOUT_INFLATER_SERVICE);
View popupView = layoutInflater.inflate(R.layout.popup, null);
final PopupDialog popupWindow = new PopupDialog(
popupView,
LayoutParams.WRAP_CONTENT,
LayoutParams.WRAP_CONTENT);

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
popupWindow.setHeight(metrics.heightPixels);
popupWindow.setWidth(300);

popupWindow.showAtLocation(v, Gravity.NO_GRAVITY, v.getLeft()+v.getWidth(), 0);

}

我有这个异常(BadTokenException)

05-29 16:35:10.627: E/AndroidRuntime(1055): FATAL EXCEPTION: main
05-29 16:35:10.627: E/AndroidRuntime(1055): android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRootImpl$W@410ad298 is not valid; is your activity running?
05-29 16:35:10.627: E/AndroidRuntime(1055): at android.view.ViewRootImpl.setView(ViewRootImpl.java:515)
05-29 16:35:10.627: E/AndroidRuntime(1055): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:279)
05-29 16:35:10.627: E/AndroidRuntime(1055): at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:193)
05-29 16:35:10.627: E/AndroidRuntime(1055): at android.view.WindowManagerImpl$CompatModeWrapper.addView(WindowManagerImpl.java:118)
05-29 16:35:10.627: E/AndroidRuntime(1055): at android.view.Window$LocalWindowManager.addView(Window.java:537)
05-29 16:35:10.627: E/AndroidRuntime(1055): at android.widget.PopupWindow.invokePopup(PopupWindow.java:988)
05-29 16:35:10.627: E/AndroidRuntime(1055): at and

欢迎任何帮助,提前谢谢你:)

最佳答案

存在上下文冲突。尝试将此添加到您的 XML 微调器声明中:android:spinnerMode="dialog"

关于单击 BadTokenException 时出现 Android Spinner 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16819729/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com