我正在开发Android应用程序使用碎片和夏洛克行动栏,我正在使用的方法块引号第一个月用于返回以前的片段。有时它运行良好,但有时它会给NULL POINTER异常。解决方案是什么?
NULL POINTER
vptzau2j1#
我的猜测是没有留下任何可弹出的内容。请尝试在弹出之前检查它是否存在。
lhcgjxsq2#
你应该在弹出它之前检查你的反栈上是否有任何片段。
if( getSherlockActivity().getSupportFragmentManager().getBackStackEntryCount() > 0 ) getSherlockActivity().getSupportFragmentManager().popBackStack();
svgewumm3#
popBackStack()将不会导致NullPointerException。我已经创建了一段代码,并在一行中调用了它几次-当没有什么要弹出的时候。它只是让当前片段可见,什么也不做。我认为问题不在popBackStack方法中,但是,我没有使用ABS,只是一个常规的android片段API。你能提供一段代码吗?也许问题在其他地方?
goqiplq24#
如果没有反栈,则会导致空指针,我有一个onMenuItemClickListener(),它使用以下代码捕获此指针:
if(navController.getPreviousBackStackEntry() != null) { navController.popBackStack(); }
4条答案
按热度按时间vptzau2j1#
我的猜测是没有留下任何可弹出的内容。请尝试在弹出之前检查它是否存在。
lhcgjxsq2#
你应该在弹出它之前检查你的反栈上是否有任何片段。
svgewumm3#
popBackStack()将不会导致NullPointerException。我已经创建了一段代码,并在一行中调用了它几次-当没有什么要弹出的时候。它只是让当前片段可见,什么也不做。我认为问题不在popBackStack方法中,但是,我没有使用ABS,只是一个常规的android片段API。你能提供一段代码吗?也许问题在其他地方?
goqiplq24#
如果没有反栈,则会导致空指针,我有一个onMenuItemClickListener(),它使用以下代码捕获此指针: