首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >TokenException:无法添加窗口?

TokenException:无法添加窗口?
EN

Stack Overflow用户
提问于 2012-10-10 20:31:28
回答 2查看 493关注 0票数 0
代码语言:javascript
运行
复制
private void runDialog(final int seconds){
        new Thread(new Runnable(){
          public void run(){
            try {
                    Thread.sleep(seconds * 1000);
                    progressDialog.dismiss();
            runOnUiThread(new Runnable()
            {
              public void run()
              {
                        // Your Alert Code
                        AlertDialog connection = new AlertDialog.Builder(
                                NewsScreenActivity.this)
                                .setTitle("No Network Found")
                                .setMessage(
                                        "service unavailable, please try again later")
                                .setPositiveButton("Ok",
                                        new DialogInterface.OnClickListener() {

                                            public void onClick(DialogInterface dialog,
                                                    int whichButton) {

                                              finish();
                                        //        progressDialog.dismiss();
                                            }
                                        }).create();

                        connection.show();
              }
            });

          }catch (InterruptedException e) {
              Log.i("=================== Connection TimeO5555555555", "======");
             // Toast.makeText(getBaseContext(), "service unavailable, please try again later", Toast.LENGTH_SHORT).show();
            e.printStackTrace();
          }
          }
        }).start();
  }

错误

代码语言:javascript
运行
复制
    10-10 17:55:13.299: E/AndroidRuntime(11643): FATAL EXCEPTION: main
    10-10 17:55:13.299: E/AndroidRuntime(11643): android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@40531320 is not valid; is your activity running?
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at android.view.ViewRoot.setView(ViewRoot.java:528)
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:177)
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at android.view.WindowManagerImpl.addView(WindowManagerImpl.java:91)
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at android.view.Window$LocalWindowManager.addView(Window.java:424)
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at android.app.Dialog.show(Dialog.java:241)
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at com.MariTimeGlobalNews.NewsScreenActivity$7$1.run(NewsScreenActivity.java:587)
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at android.os.Handler.handleCallback(Handler.java:587)
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at android.os.Handler.dispatchMessage(Handler.java:92)
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at android.os.Looper.loop(Looper.java:123)
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at android.app.ActivityThread.main(ActivityThread.java:3729)
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at java.lang.reflect.Method.invokeNative(Native Method)
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at java.lang.reflect.Method.invoke(Method.java:507)
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:874)
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:632)
    10-10 17:55:13.299: E/AndroidRuntime(11643):    at dalvik.system.NativeStart.main(Native Method)
EN

回答 2

Stack Overflow用户

发布于 2012-10-10 20:37:58

您持有对已被销毁的上下文的引用(显式地,或者通过创建对话框、Toast或其他依赖项)(通常是因为您正在使用onCreateDialog,或者您将该活动传递给了在销毁该活动时未被销毁的其他流程)

票数 0
EN

Stack Overflow用户

发布于 2012-10-10 20:47:15

线程中的上下文问题。所以请使用Handler来处理它。http://developer.android.com/reference/android/os/Handler.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12819416

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档