當我在Android Studio中創建新的導航抽屜活動時,基本示例運行完美。我已經更改了幾行以整合Material Design和v4 - v7支持,因此應用程序中斷。我還在Firebase的一些基本代碼中加入了與Google+進行簡單認證的代碼。NPE錯誤膨脹類片段:NavigationDrawerFragment
啓動該應用程序將返回一個運行時異常和「錯誤膨脹類片段」消息。
我在猜測NPE是來自未被誇大的觀點,但我不知道這是怎麼回事。
下面是我的logcat,我的活動和我的佈局。任何幫助或指導,將不勝感激。
logcat的:
11-24 16:29:26.735 6127-6127/com.starkenglish E/AndroidRuntime﹕ FATAL EXCEPTION: main
Process: com.starkenglish, PID: 6127
java.lang.RuntimeException: Unable to start activity ComponentInfo{com.starkenglish/com.starkenglish.MainActivity}: android.view.InflateException: Binary XML file line #19: Error inflating class fragment
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2212)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5146)
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:796)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
at dalvik.system.NativeStart.main(Native Method)
Caused by: android.view.InflateException: Binary XML file line #19: Error inflating class fragment
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:713)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:343)
at android.app.Activity.setContentView(Activity.java:1929)
at com.starkenglish.MainActivity.onCreate(MainActivity.java:110)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5146)
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:796)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
at dalvik.system.NativeStart.main(Native Method)
Caused by: java.lang.NullPointerException
at com.starkenglish.NavigationDrawerFragment.onCreateView(NavigationDrawerFragment.java:101)
at android.app.Fragment.performCreateView(Fragment.java:1700)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:866)
at android.app.FragmentManagerImpl.moveToState(FragmentManager.java:1040)
at android.app.FragmentManagerImpl.addFragment(FragmentManager.java:1142)
at android.app.Activity.onCreateView(Activity.java:4786)
at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:689)
at android.view.LayoutInflater.rInflate(LayoutInflater.java:755)
at android.view.LayoutInflater.inflate(LayoutInflater.java:492)
at android.view.LayoutInflater.inflate(LayoutInflater.java:397)
at android.view.LayoutInflater.inflate(LayoutInflater.java:353)
at com.android.internal.policy.impl.PhoneWindow.setContentView(PhoneWindow.java:343)
at android.app.Activity.setContentView(Activity.java:1929)
at com.starkenglish.MainActivity.onCreate(MainActivity.java:110)
at android.app.Activity.performCreate(Activity.java:5231)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2169)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2271)
at android.app.ActivityThread.access$800(ActivityThread.java:144)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1205)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5146)
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:796)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
at dalvik.system.NativeStart.main(Native Method)
爲了保持這個貼子乾淨,我已經發布我的代碼在GitHub上GIST。
- MainActivity.java: https://gist.github.com/markbratanov/a94291edaf02b0b236d3
- NavigationDrawerFragment.java: https://gist.github.com/markbratanov/92bb583f14604b68b34d
- fragment_main.xml: https://gist.github.com/markbratanov/d1bda8b3c99d47e0257c
- fragment_navigation_drawer.xml: https://gist.github.com/markbratanov/5f5e334e40e253736e49
如果缺少代碼/文件,請讓我知道,我會立即包括它。
謝謝你的幫助。我已經改變了, 'MainActivity MainActivity擴展活動'公共類MainActivity擴展ActionBarActivity在MainActivity.java 仍然收到同樣的錯誤,我不理解你嗎? – markbratanov 2014-11-24 23:05:16
你可以將我粘貼在我的代碼部分onActivityCreated,而不是在onCreateView – 2014-11-24 23:24:45
也行不通。 我注意到,當我改變風格。XML返回到原始模板,它工作正常。當我嘗試使用新的材質設計appcompat時,它會失敗? – markbratanov 2014-11-24 23:33:22