
我正在尝试隐藏片段中的动作栏.要做到这一点,我正在尝试使用getActivity().getActionbar().hIDe();,但确实会抛出异常NullPointerException.我确实尝试过使用getSupportActionbar()但是Eclipse没有显示自动完成它只显示getActionbar();
我该怎么做 ?
分段
public class MyFragment extends Fragment {@OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); getActivity().getActionbar().hIDe(); //nullpointerexception in this line } }例外:
12-05 12:19:02.415: E/AndroIDRuntime(16400): FATAL EXCEPTION: main12-05 12:19:02.415: E/AndroIDRuntime(16400): java.lang.NullPointerException12-05 12:19:02.415: E/AndroIDRuntime(16400): at br.com.mypackage.myapp.frags.BatalhaSemOponenteFrag.onCreate(BatalhaSemOponenteFrag.java:71)12-05 12:19:02.415: E/AndroIDRuntime(16400): at androID.support.v4.app.Fragment.performCreate(Fragment.java:1763)12-05 12:19:02.415: E/AndroIDRuntime(16400): at androID.support.v4.app.FragmentManagerImpl.movetoState(FragmentManager.java:913)12-05 12:19:02.415: E/AndroIDRuntime(16400): at androID.support.v4.app.FragmentManagerImpl.movetoState(FragmentManager.java:1126)12-05 12:19:02.415: E/AndroIDRuntime(16400): at androID.support.v4.app.BackStackRecord.run(BackStackRecord.java:739)12-05 12:19:02.415: E/AndroIDRuntime(16400): at androID.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:1489)12-05 12:19:02.415: E/AndroIDRuntime(16400): at androID.support.v4.app.FragmentManagerImpl.run(FragmentManager.java:454)12-05 12:19:02.415: E/AndroIDRuntime(16400): at androID.os.Handler.handleCallback(Handler.java:730)12-05 12:19:02.415: E/AndroIDRuntime(16400): at androID.os.Handler.dispatchMessage(Handler.java:92)12-05 12:19:02.415: E/AndroIDRuntime(16400): at androID.os.Looper.loop(Looper.java:176)12-05 12:19:02.415: E/AndroIDRuntime(16400): at androID.app.ActivityThread.main(ActivityThread.java:5419)12-05 12:19:02.415: E/AndroIDRuntime(16400): at java.lang.reflect.Method.invokeNative(Native Method)12-05 12:19:02.415: E/AndroIDRuntime(16400): at java.lang.reflect.Method.invoke(Method.java:525)12-05 12:19:02.415: E/AndroIDRuntime(16400): at com.androID.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1046)12-05 12:19:02.415: E/AndroIDRuntime(16400): at com.androID.internal.os.ZygoteInit.main(ZygoteInit.java:862)12-05 12:19:02.415: E/AndroIDRuntime(16400): at dalvik.system.NativeStart.main(Native Method)解决方法:
由于您使用的是v4支持片段,我假设您将使用appcompat进行活动.
您必须将从getActivity()获得的活动转换为实际活动,以便将活动识别为appcompat.
试试这个:
public class MyFragment extends Fragment {@OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ((YourActivity)getActivity()).getSupportActionbar().hIDe(); } } 总结 以上是内存溢出为你收集整理的android – 隐藏片段中的actionbar会抛出NullPointerException吗?全部内容,希望文章能够帮你解决android – 隐藏片段中的actionbar会抛出NullPointerException吗?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)