我需要在我的一个以姜饼为目标的android应用程序中使用操作栏和片段的组合。因此,我使用了v7支持库中的操作栏和v4支持库中的片段,并使用FragmentActivity扩展了我的类。
当我输入一行时,我得到一个错误
actionbar = getSupportActionBar();
该错误指出未为类型myFragmentClass (我的类名)定义getSupportActionBar()。代码在没有支持库的情况下可以很好地工作。我的问题有解决方案吗?
谢谢!
发布于 2014-03-31 01:44:29
您必须扩展ActionBarActivity而不是FragmentActivity,才能使Actionbar包含片段。
如果您使用的是v7 appcompat库,那么您的活动应该扩展ActionBarActivity,它是FragmentActivity的子类(有关更多信息,请阅读添加操作栏)。
你可以在页面上找到更多信息,上面的below.The行取自下面的页面(最后一段)。http://developer.android.com/training/basics/fragments/creating.html
编辑-这不是一个bug。这就是知识的缺乏。有时基础知识不是很清楚。我目前正在学习,这也是从android网站上学到的,这就是我如何给你答案的。
发布于 2013-10-22 21:47:32
在OnAttach()方法中编写以下代码:
actionBar = ((ActionBarActivity) getActivity()).getSupportActionBar();
ActionBarActivity已弃用。使用
actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
发布于 2014-07-01 20:49:26
我也尝试过使用:
actionbar = getActivity().getSupportActionBar();
直到我这样做,它才起作用:
ActionBar actionBar = ((ActionBarActivity)getActivity()).getSupportActionBar();
所以当我转换到我的MainActivity时,它就起作用了。
https://stackoverflow.com/questions/19052470
复制相似问题