android– 隐藏片段中的actionbar会抛出NullPointerException吗?

android– 隐藏片段中的actionbar会抛出NullPointerException吗?,第1张

概述我正在尝试隐藏片段中的动作栏.要做到这一点,我正在尝试使用getActivity().getActionBar().hide();,但确实会抛出异常NullPointerException.我确实尝试过使用getSupportActionBar()但是Eclipse没有显示自动完成它只显示getActionBar();我该怎么做?分段publicclassMyFragment

我正在尝试隐藏片段中的动作栏.要做到这一点,我正在尝试使用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吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1110713.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-29
下一篇2022-05-29

发表评论

登录后才能评论

评论列表(0条)

    保存