这是我的方法,它工作正常并显示对话框。
public void showDialog(){
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.mylayout);
dialog.show();
}
我有一个测试项目,我想测试对话框是否显示。我想应用 .isShowing() 方法。像这样的东西...
assertTrue(dialog.isShowing());
但是我不知道如何在测试中访问对话框变量。
我没有使用Robotium(这对我来说不是一个选择)。我目前正在使用ActivityUnitTestCase进行测试。如果需要更多信息,请随时询问。
编辑
我试图通过公开对话框来使用以下答案
public Dialog getDiag(){
return dialog;
}
使用此答案:当我在测试中运行 showDialog() 时我遇到了一个新问题,当它点击时它会中断:dialog.show();
android.view.WindowManager$BadTokenException: * 无法添加窗口 -- token null
在 showDialog 函数之外声明对话框,然后实现一个返回此 Dialog 实例的方法。
public Dialog getDiag(){
return dialog;
}
然后做这样的事情
assertTrue(new YourClassName().getDialog().isShowing());