我在尝试在android中显示对话框时遇到此异常。我在一些帖子中发现我必须检查
的值isFinishing()
检查某项活动是否即将完成。但我总是从这个函数中得到“假”的值。
这意味着活动正在运行。但我仍然得到例外
android.view.WindowManager$BadTokenException: Unable to add window
任何人都可以帮我解决这个问题。
这是我的代码
final Dialog dialog = new Dialog(ThirdTab.this);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.alertview);
dialog.setTitle("text");
Button dialogButton = (Button) dialog.findViewById(R.id.dialogButtonOK);
dialogButton.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
dialog.dismiss();
}
}
);
runOnUiThread
(
new Runnable()
{
@Override
public void run()
{
// TODO Auto-generated method stub
if(!ThirdTab.this.isFinishing())
{
dialog.show();
}
}
}
);
答案 0 :(得分:1)
我找到了解决方案。发生这种情况是因为我的活动位于标签活动中。这就是函数isFinishing()
返回false并发生异常的原因。
我感谢所有回复此问题的人。