I'm trying to test an Activity in android which will show a
ProgressDialog and everything works fine in the App, however when I
try to use ActivityUnitTestCase and the test causes the Activity to
show the dialog it fails with this error:
android.view.WindowManager$BadTokenException: Unable to add window --
token null is not for an application
at android.view.ViewRoot.setView(ViewRoot.java:429)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:178)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at android.view.Window$LocalWindowManager.addView(Window.java:392)
I'm trying to test an Activity in android which will show a
ProgressDialog and everything works fine in the App, however when I
try to use ActivityUnitTestCase and the test causes the Activity to
show the dialog it fails with this error:
android.view.WindowManager$BadTokenException: Unable to add window --
token null is not for an application
at android.view.ViewRoot.setView(ViewRoot.java:429)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:178)
at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
at android.view.Window$LocalWindowManager.addView(Window.java:392)
I was looking at the problem and it seems that the onCreateDialog
method of my activity crashes when we try to create it from the test,
which I assume is another context, I get that, however I wonder is any
of you have been successful on trying such a scenario.
This is the code of my onCreateDialog.
public Dialog onCreateDialog(final int id)
{
Dialog dialog;
switch (id)
{
case PROGRESS_BAR:
loadingDialog = new ProgressDialog(this);
loadingDialog.setMessage("searching for product...");
loadingDialog.setIndeterminate(true);
dialog = loadingDialog;
break;
case INEXISTING_PRODUCT:
AlertDialog.Builder builder = new
AlertDialog.Builder(this);
builder.setMessage("Product not found");
builder.setPositiveButton("OK", null);
dialog = builder.create();
break;
case UNAVAILABLE_SERVICE:
AlertDialog.Builder unavailableBuilder = new
AlertDialog.Builder(this);
unavailableBuilder.setMessage("Service Unavailable");
unavailableBuilder.setPositiveButton("OK", null);
dialog = unavailableBuilder.create();
break;
default:
dialog = super.onCreateDialog(id);
}
return dialog;
}
Any ideas?
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en