当我使用navigationDrawer更改片段时,我的应用有时会崩溃。致命错误没有太大帮助,如何解决此问题?谢谢
FATAL EXCEPTION: main
Process: acr.acr_app, PID: 29425
java.lang.NullPointerException: Attempt to invoke virtual method 'android.content.res.Resources android.content.Context.getResources()' on a null object reference
at android.view.ViewConfiguration.get(ViewConfiguration.java:359)
at android.view.View.<init>(View.java:3656)
at android.view.View.<init>(View.java:3751)
at android.view.ViewGroup.<init>(ViewGroup.java:492)
at android.widget.LinearLayout.<init>(LinearLayout.java:200)
at android.widget.LinearLayout.<init>(LinearLayout.java:196)
at android.widget.LinearLayout.<init>(LinearLayout.java:192)
at android.widget.LinearLayout.<init>(LinearLayout.java:188)
at android.widget.TableRow.<init>(TableRow.java:61)
at acr.acr_app.MyFragment3$2.onChildAdded(MyFragment3.java:170)
at com.google.android.gms.internal.zzaer.zza(Unknown Source)
at com.google.android.gms.internal.zzagp.zzSu(Unknown Source)
at com.google.android.gms.internal.zzags$1.run(Unknown Source)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
Fragment3 line170:onStart()侦听器
tableRow = new TableRow(getContext());
tableRow.setLayoutParams(new TableLayout.LayoutParams(
TableLayout.LayoutParams.WRAP_CONTENT,
TableLayout.LayoutParams.WRAP_CONTENT, 1.0f));
发生崩溃的原因是,该片段已经从Activity中分离出来后,仍在执行代码。
在您的情况下,片段到达时已经切换到另一个片段getContext()
。因为getContext()
正在查找活动(不再连接该片段的活动),它将导致nullpointer异常。
请尝试以下方法:
if(isAdded()){
tableRow = new TableRow(getContext());
tableRow.setLayoutParams(new TableLayout.LayoutParams(
TableLayout.LayoutParams.WRAP_CONTENT,
TableLayout.LayoutParams.WRAP_CONTENT, 1.0f));
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句