相关疑难解决方法(0)

视图未附加到窗口管理器崩溃

我正在使用ACRA报告应用程序崩溃.我收到一条View not attached to window manager错误消息,并认为我已通过pDialog.dismiss();在if语句中包装来修复它:

if (pDialog!=null) 
{
    if (pDialog.isShowing()) 
    {
        pDialog.dismiss();   
    }
}
Run Code Online (Sandbox Code Playgroud)

它减少了View not attached to window manager我收到的崩溃数量,但我仍然得到一些,我不知道如何解决它.

错误信息:

java.lang.IllegalArgumentException: View not attached to window manager
at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:425)
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:327)
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:83)
at android.app.Dialog.dismissDialog(Dialog.java:330)
at android.app.Dialog.dismiss(Dialog.java:312)
at com.package.class$LoadAllProducts.onPostExecute(class.java:624)
at com.package.class$LoadAllProducts.onPostExecute(class.java:1)
at android.os.AsyncTask.finish(AsyncTask.java:631)
at android.os.AsyncTask.access$600(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:176)
at android.app.ActivityThread.main(ActivityThread.java:5419)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:525)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:862)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

代码段:

class LoadAllProducts extends AsyncTask<String, String, String> …
Run Code Online (Sandbox Code Playgroud)

android

176
推荐指数
6
解决办法
12万
查看次数

视图未附加到窗口管理器,对话框关闭

所以我调用了活动GameActivity.java,在这个活动中我称之为DialogAnswer.show()简单显示屏幕上的一些图片.

java.lang.IllegalArgumentException: View not attached to window manager
at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:402)
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:304)
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:79)
at android.app.Dialog.dismissDialog(Dialog.java:325)
at android.app.Dialog.dismiss(Dialog.java:307)
at pl.evelanblog.prawdaczyfalsz.screen.DialogAnswer$1.onFinish(DialogAnswer.java:36)
at android.os.CountDownTimer$1.handleMessage(CountDownTimer.java:118)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:5328)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1102)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:869)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

这是我的DialogAnswer.java班级

public class DialogAnswer extends Activity {

   private static ImageView resultImage;
   private static Dialog dialog = null;

   public static void show(Context context, boolean fCorrect) {

       dialog = new Dialog(context, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen);
       dialog.setContentView(R.layout.dialog);
       resultImage = (ImageView) …
Run Code Online (Sandbox Code Playgroud)

android

13
推荐指数
3
解决办法
2万
查看次数

抛出:IllegalArgumentException?为什么?

任何人都可以向我解释为什么会出现这种错误,或者更好的我如何处理它?我无法重现它.这是1000次中发生的错误之一.

背景:用户正在尝试登录,显示进度对话框,在异步任务中发送http请求,取消进度对话框.发生错误,应用FC.

LoginActivity.java

 255:   private void dismissProgress() {  
 256:     if (mProgress != null) {  
 257:         mProgress.dismiss();  
 258:         mProgress = null;  
 259:     }  
 260:   }  

java.lang.IllegalArgumentException: View not attached to window manager
at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:391)
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:236)
at android.view.Window$LocalWindowManager.removeView(Window.java:432)
at android.app.Dialog.dismissDialog(Dialog.java:278)
at android.app.Dialog.access$000(Dialog.java:71)
at android.app.Dialog$1.run(Dialog.java:111)
at android.app.Dialog.dismiss(Dialog.java:268)
at se.magpern.LoginActivity.dismissProgress(LoginActivity.java:257)
at se.magpern.LoginActivity.access$5(LoginActivity.java:255)
at se.magpern.LoginActivity$DoTheLogin.onPostExecute(LoginActivity.java:293)
at se.magpern.LoginActivity$DoTheLogin.onPostExecute(LoginActivity.java:1)
at android.os.AsyncTask.finish(AsyncTask.java:417)
at android.os.AsyncTask.access$300(AsyncTask.java:127)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:429)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:144)
at android.app.ActivityThread.main(ActivityThread.java:4937)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:521)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

android

9
推荐指数
2
解决办法
1万
查看次数

视图没有附加到窗口管理器(最新解决方案?)

我从我的应用程序中得到了错误报告,所有这些都是一样的.这真的很烦人,因为在我的测试设备(HTC Wildfire,Galaxy S I-II-III,Galaxy Mini,Galaxy Tab 10)中,这个错误从未发生过,对我或我的测试伙伴来说,看起来像用户做了一些与我们不同的事情.

因为这个我不能给你太多有关情况的信息,有一件事我看到,它是一个对话框的解雇,我实际上从来没有通过代码调用.

这是错误:

java.lang.IllegalArgumentException: View not attached to window manager
at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:587)
at android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:324)
at android.view.WindowManagerImpl$CompatModeWrapper.removeView(WindowManagerImpl.java:151)
at android.app.Dialog.dismissDialog(Dialog.java:328)
at android.app.Dialog$1.run(Dialog.java:119)
at android.app.Dialog.dismiss(Dialog.java:313)
at android.app.Dialog.cancel(Dialog.java:1113)
at hu.kulcssoft.ingyenkonyv.reader.Reader$JavaScriptInterface$1.run(Reader.java:199)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4424)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
at dalvik.system.NativeStart.main(Native Method)
Run Code Online (Sandbox Code Playgroud)

有人能帮助我吗?由于这个问题我每周得到30-40个错误报告,我真的无法弄清楚为什么会这样.

所有建议将不胜感激.谢谢,

android illegalargumentexception android-view android-dialog

8
推荐指数
1
解决办法
1万
查看次数

视图未附加到窗口

警告The view is not attached to a window意味着什么?在尝试调试我的游戏时,我经常在Logcat中获取它.

确切的输出:

12-27 18:14:12.415: W/View(16827): The view is not attached to a window
Run Code Online (Sandbox Code Playgroud)

我已经搜索过这个警告,但却找不到任何内容.我得到的只是关于Window Manager错误,这不是我在这里得到的.我想知道这个警告的原因,只是为了确认它是否与FPS下降有关?

debugging android android-logcat

7
推荐指数
1
解决办法
673
查看次数

java.lang.IllegalArgumentException - dialog.dismiss

我在发布的应用程序中收到此错误,只有客户端收到此错误。我已经多次尝试复制同样的错误,但没有成功。我也已经尝试在所有有 Dialog 但也没有解决的位置使用下面的代码。

if (dialog.isShowing ()) {
    dialog.dismiss ();
}
Run Code Online (Sandbox Code Playgroud)

错误报告

java.lang.IllegalArgumentException: View=com.android.internal.policy.impl.PhoneWindow$DecorView{16faa139 V.E..... R.....I. 0,0-0,0} not attached to window manager
at android.view.WindowManagerGlobal.findViewLocked(WindowManagerGlobal.java:412)
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:338)
at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:122)
at android.app.Dialog.dismissDialog(Dialog.java:522)
at android.app.Dialog.dismiss(Dialog.java:504)

**at br.my.project.de.a(Unknown Source)
at br.my.project.de.onPostExecute(Unknown Source)**

at android.os.AsyncTask.finish(AsyncTask.java:636)
at android.os.AsyncTask.access$500(AsyncTask.java:177)
at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:653)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:145)
at android.app.ActivityThread.main(ActivityThread.java:6946)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1404)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1199)
Run Code Online (Sandbox Code Playgroud)

java android illegalargumentexception dismiss

6
推荐指数
2
解决办法
4194
查看次数

有没有办法确定是否可以调用dialog.dismiss()而不使用空的try-catch块?

我越来越知名了java.lang.IllegalArgumentException: View not attached to window manager.目前已知的解决方案是使用空的try-catch块忽略错误.但它是否有一个更程序员友好的解决方案?例如

if (dialog.isAttached())
  dialog.dismiss();
Run Code Online (Sandbox Code Playgroud)

当然,如果Android SDK有一个没有失败的功能会更好(因为如果无法避免它,API为什么会失败?):

dialog.tryDismiss();
Run Code Online (Sandbox Code Playgroud)

或者空的try-catch块在架构上是否合理?或者它只是一个糟糕或不完整的API的解决方法?

java architecture api android scala

5
推荐指数
1
解决办法
155
查看次数

进展对话框在asynchtask中给出例外

我正在开发一个Android应用程序,其中即时通讯使用异步任务和后执行方法,当我关闭进度对话框时,异常即将到来且应用程序正在强制关闭.

例外情况是:

    04-24 09:41:54.661: E/AndroidRuntime(1727): java.lang.IllegalArgumentException: View not attached to window manager
    04-24 09:41:54.661: E/AndroidRuntime(1727):     at android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:355)
Run Code Online (Sandbox Code Playgroud)

代码:

data_insertion = new AsyncTask<Void, Void, Void>() {
  @Override
  protected void onPreExecute() {
    // TODO Auto-generated method stub             
    CommonUtility.show_PDialog(MainActivity.this);
    super.onPreExecute();
  }
  @Override
  protected void onPostExecute(Void result) {
    // TODO Auto-generated method stub
    //setting alaram for refresh api 
    CommonUtility.close_PDialog(); //*getting exception on this line* 
    Intent setalaram = new Intent(MainActivity.this, SetAlaram.class);
    startService(setalaram);
    Intent i = new Intent(MainActivity.this, PlayListActivity.class);
    startActivity(i);
    MainActivity.this.finish();
    super.onPostExecute(result);
    finish();
  }
  @Override
  protected …
Run Code Online (Sandbox Code Playgroud)

android exception progressdialog android-asynctask forceclose

5
推荐指数
1
解决办法
793
查看次数