alertdialog报错_关于AlertDialog中不可思议的dialog.show()异常出错的问题的解决 | 学步园...

本文记录在Android开发中遇到的一个问题:在PopupWindow中显示Dialog时,调用dialog.show()报WindowManager$BadTokenException错误。通过分析Logcat和参考他人经验,最终发现解决方案是使用正确的Context,即使用View对象的getContext方法获取。通过这种方法成功显示AlertDialog,并分享了解决此类问题的经验。
摘要由CSDN通过智能技术生成

学习java连带着学习android应用开发应该差不多两个星期了吧,开始有点儿慢慢适应了,现在着手尝试修改别人的程序代码来创建自己所需要的东西,但是最近需要在一个popupwindow窗口中启动一个dialog,我是先尝试着把这篇博客里给的简单代码贴到我的程序里面,http://blog.163.com/wangkangming2008@126/blog/static/7827792820110910392369/这是链接

代码如下

public void Login() {

LayoutInflater factory=LayoutInflater.from(main.this);

final View v1=factory.inflate(R.layout.login,null);

//R.layout.login与login.xml文件名对应,把login转化成View类型

AlertDialog.Builder builder = new AlertDialog.Builder(main.this);

AlertDialog dialog = builder.create();//可能是这个问题导致的,context不知道传的对不对,研究一

dialog.setView(v1);//设置使用View

//设置控件应该用v1.findViewById 否则出错

dialog.show();

}

但是logcat会打印出出错的信息:

09-21 07:23:36.023: ERROR/AndroidRuntime(1550): FATAL EXCEPTION: main

09-21 07:23:36.023: ERROR/AndroidRuntime(1550): android.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值