![](/img/trans.png)
[英]Relationship between Fragment.onCreate() and Activity.onCreate()
[英]Android 4.2+ Activity.OnCreate Fragment
Google Play 開發者控制台多次顯示此錯誤,但我根本無法重現它。 此外,我無法理解,我做錯了什么。
java.lang.RuntimeException:
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2340)
at android.app.ActivityThread.handleLaunchActivity (ActivityThread.java:2390)
at android.app.ActivityThread.handleRelaunchActivity (ActivityThread.java:4072)
at android.app.ActivityThread.access$900 (ActivityThread.java:151)
at android.app.ActivityThread$H.handleMessage (ActivityThread.java:1270)
at android.os.Handler.dispatchMessage (Handler.java:102)
at android.os.Looper.loop (Looper.java:136)
at android.app.ActivityThread.main (ActivityThread.java:5413)
at java.lang.reflect.Method.invokeNative (Native Method)
at java.lang.reflect.Method.invoke (Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run (ZygoteInit.java:970)
at com.android.internal.os.ZygoteInit.main (ZygoteInit.java:786)
at dalvik.system.NativeStart.main (Native Method)
Caused by: android.app.Fragment$InstantiationException:
at android.app.Fragment.instantiate (Fragment.java:601)
at android.app.FragmentState.instantiate (Fragment.java:98)
at android.app.FragmentManagerImpl.restoreAllState (FragmentManager.java:1759)
at android.app.Activity.onCreate (Activity.java:905)
at ru.ytaxi40reg.taxi.RegistrationActivity.onCreate (RegistrationActivity.java:58)
at android.app.Activity.performCreate (Activity.java:5258)
at android.app.Instrumentation.callActivityOnCreate (Instrumentation.java:1099)
at android.app.ActivityThread.performLaunchActivity (ActivityThread.java:2280)
Caused by: java.lang.InstantiationException:
at java.lang.Class.newInstanceImpl (Native Method)
at java.lang.Class.newInstance (Class.java:1208)
at android.app.Fragment.instantiate (Fragment.java:590)
是的,我看到 Android 無法實例化框架。 但我的應用程序根本不使用任何片段!
你能解釋一下我錯在哪里嗎? 提前致謝。
編輯:這是來自 RegistrationActivity.java 的第 58 行
...
56 @Override
57 public void onCreate(Bundle p1) {
58 super.onCreate(p1);
59 setContentView(R.layout.activity_registration);
60 // Other stuff
...
編輯 2 : gist.gitub.com 上的所有文件
看起來系統可以將錯誤的Bundle savedInstanceState
作為Activity.OnCreate()
方法的參數放在某些 android 設備上。
我的解決方法是用以下幾行替換 Activity 的onCreate()
方法的開頭:
@Override
public void onCreate(Bundle p1) {
try{
super.onCreate(p1);
}catch(android.app.Fragment.InstantiationException e){
super.onCreate(null);
...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.