仅限Android Lollipop上的片段事务有一些有趣的问题。当我返回并删除以前添加的片段时,会发生崩溃。
这是stacktrace:
FATAL EXCEPTION: main
Process: com.parkme.consumer, PID: 15560
java.lang.NullPointerException: Attempt to read from field 'int android.app.Fragment.mContainerId' on a null object reference
at android.app.BackStackRecord$1.onPreDraw(BackStackRecord.java:1131)
at android.view.ViewTreeObserver.dispatchOnPreDraw(ViewTreeObserver.java:944)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1970)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1061)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:5885)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:767)
at android.view.Choreographer.doCallbacks(Choreographer.java:580)
at android.view.Choreographer.doFrame(Choreographer.java:550)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:753)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:135)
at android.app.ActivityThread.main(ActivityThread.java:5254)
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:903)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
我如何进行交易:
getFragmentManager().beginTransaction()
.replace(R.id.list_holder, listFragment)
.commit();
R.id.list_holder
<FrameLayout
android:id="@+id/list_holder"
android:layout_width="match_parent"
android:layout_height="match_parent">
</FrameLayout>
我如何删除它:
getFragmentManager().beginTransaction()
.remove(listFragment)
.commit();
我收到最后一个代码片段的崩溃信息。
更新
在我删除它之后,它不再崩溃了:
Transition slideTransition = TransitionInflater.from(ParkmeApplication.getContext()).inflateTransition(R.transition.slide_right);
setExitTransition(slideTransition);
slide_right:
<transitionSet xmlns:android="http://schemas.android.com/apk/res/android">
<slide
android:duration="@android:integer/config_shortAnimTime"
android:slideEdge="right"/>
</transitionSet>
交易中不使用getFragmentManager()
方法getSupportFragmentManager()
而是使用从v4.app.Fragment
类扩展。在我从中移出后,android.app.Fragment
它现在可以正常工作而不会崩溃。
因此,如果您有这样的用途,getFragmentManager()
并且您在应用程序中使用了任何支持库,那么我对所有人的建议都是直接转到支持经理。甚至为您工作。或者,您也可以像我一样遇到一些奇怪的错误,从而导致崩溃。感谢所有有时间给我建议的人!
我想停止服务,但出现以下错误: 尝试调用虚拟方法的布尔值。所容纳之物上下文空对象引用上的stopService(android.content.Intent) 这是我停止服务的方法(在类): 这是我在另一个类中调用该方法的方式: 代码。startService(getContext()) 工作正常,但
每当我尝试使用firebase auth注册用户时,我的应用程序就会崩溃。我的代码如下:
我正在尝试更新以下应用程序版本,它因未定义的问题崩溃。这是我的日志 在我的MainActivity中,除了另一个活动外,我还使用NavigationView打开了两个片段。在调试模式下,一旦调试器获取默认片段的getItem()并转到onCreateView(),它就会正常地通过扩展布局启动,但一旦返回其视图,它就会崩溃,并出现最后一个异常。 例外情况不涉及碰撞线。所以,我试图寻找这个问题。我发现
我正在尝试从API获取一些数据,由于我将此回调指向空响应,因此出现以下错误: 如何在保持功能的同时修复它?这意味着,保持回调,并获得On成功的结果。 这是带有回调的适配器: 这是问题产生的远程数据源: API响应:
我在运行时得到这个nullPointerException: 原因:java.lang.NullPointerException:试图对空对象引用调用虚拟方法“void android.app.actionbar.SetDisplayHomeasUpenabled(boolean)” 来自MainActivity的代码: 出现问题的代码行是: 我使用:style name=“AppTheme”pa
此语句在循环中运行,并在随机迭代时给出NullPointerException。