旋转屏幕崩溃Android应用程序

时间:2013-05-28 08:59:28

标签: android android-configchanges

我是Android开发的新手。我开发了一个应用程序,现在的问题是每当我旋转屏幕时,应用程序再次启动活动然后崩溃应用程序。 我在google上找到了一些使用 android:configChanges =“orientation” 的解决方案。它工作正常但是当我旋转屏幕时,它的屏幕尺寸不会改变。 如何解决这个问题?

Logact:

  

05-28 14:32:52.038:E / AndroidRuntime(276):致命异常:主要   05-28 14:32:52.038:E / AndroidRuntime(276):java.lang.IllegalArgumentException:视图未附加到窗口管理器   05-28 14:32:52.038:E / AndroidRuntime(276):在android.view.WindowManagerImpl.findViewLocked(WindowManagerImpl.java:355)   05-28 14:32:52.038:E / AndroidRuntime(276):在android.view.WindowManagerImpl.removeView(WindowManagerImpl.java:200)   05-28 14:32:52.038:E / AndroidRuntime(276):在android.view.Window $ LocalWindowManager.removeView(Window.java:432)   05-28 14:32:52.038:E / AndroidRuntime(276):在android.app.Dialog.dismissDialog(Dialog.java:278)   05-28 14:32:52.038:E / AndroidRuntime(276):在android.app.Dialog.access $ 000(Dialog.java:71)   05-28 14:32:52.038:E / AndroidRuntime(276):在android.app.Dialog $ 1.run(Dialog.java:111)   05-28 14:32:52.038:E / AndroidRuntime(276):在android.app.Dialog.dismiss(Dialog.java:268)   05-28 14:32:52.038:E / AndroidRuntime(276):在android.app.Dialog.cancel(Dialog.java:951)   05-28 14:32:52.038:E / AndroidRuntime(276):at com.MobileWeb.mytestbuddy.PremiumMain $ TheTask.onPostExecute(PremiumMain.java:373)   05-28 14:32:52.038:E / AndroidRuntime(276):at com.MobileWeb.mytestbuddy.PremiumMain $ TheTask.onPostExecute(PremiumMain.java:1)   05-28 14:32:52.038:E / AndroidRuntime(276):在android.os.AsyncTask.finish(AsyncTask.java:417)   05-28 14:32:52.038:E / AndroidRuntime(276):在android.os.AsyncTask.access $ 300(AsyncTask.java:127)   05-28 14:32:52.038:E / AndroidRuntime(276):在android.os.AsyncTask $ InternalHandler.handleMessage(AsyncTask.java:429)   05-28 14:32:52.038:E / AndroidRuntime(276):在android.os.Handler.dispatchMessage(Handler.java:99)   05-28 14:32:52.038:E / AndroidRuntime(276):在android.os.Looper.loop(Looper.java:123)   05-28 14:32:52.038:E / AndroidRuntime(276):在android.app.ActivityThread.main(ActivityThread.java:4627)   05-28 14:32:52.038:E / AndroidRuntime(276):at java.lang.reflect.Method.invokeNative(Native Method)   05-28 14:32:52.038:E / AndroidRuntime(276):at java.lang.reflect.Method.invoke(Method.java:521)   05-28 14:32:52.038:E / AndroidRuntime(276):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:868)   05-28 14:32:52.038:E / AndroidRuntime(276):at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)   05-28 14:32:52.038:E / AndroidRuntime(276):at dalvik.system.NativeStart.main(Native Method)

2 个答案:

答案 0 :(得分:41)

您可以通过在应用程序的清单文件中添加以下内容来避免活动重新创建。

android:configChanges="orientation|keyboardHidden|screenSize"

如下

      <activity
        android:name=".your activity"
        android:configChanges="orientation|keyboardHidden|screenSize"
        android:label="@string/app_name" >
    </activity>

答案 1 :(得分:-2)

你的问题太模糊了。我只能说你需要检查你的日志猫并阅读,看看你的应用程序崩溃的原因。

我建议您快速阅读 android:configChanges from here.希望这会对你有所帮助。