我想将我的工具栏设置为一个操作栏,但是由于您的工具栏是一个布局,所以它必须在您的布局中。现在我的布局在我的碎片里。
我在布局中添加了工具栏,并将其命名为片段中的工具栏:
//Toolbar
Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);它可以工作,因为我可以设置标题等等,但是现在我希望它作为一个动作栏来反应,因为我想要这个。setDisplayHomeAsUpEnabled(真)
要做到这一点,我必须将工具栏更改为actionbar:
setSupportActionBar(toolbar);在我的碎片里行不通..。
有人能帮我让我的工具栏在一个片段中作为一个操作栏工作吗?
发布于 2015-09-30 04:52:50
现在不推荐ActionBarActivity了,所以您需要首先将您的活动从getActivity()转换为AppCompatActivity。下面是一个例子:
((AppCompatActivity) getActivity()).getSupportActionBar().setSubtitle();您必须转换它的原因是因为getActivity()返回一个FragmentActivity,您需要一个AppCompatActivity
发布于 2016-01-27 07:36:47
尝试:
((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);发布于 2014-11-20 01:34:36
ActionBar是一个活动属性。如果希望将给定片段中的工具栏设置为所属活动的ActionBar,则获取拥有该片段(Fragment.getActivity())的活动并设置其ActionBar属性。
然后juse使用您提到的相同的setDisplayHomeAsUpEnabled方法,在将工具栏设置为ActionBar以获取back / up按钮之后,在ActionBar上开始。
如果您的应用程序在该活动中包含多个片段,那么显然您必须小心地处理这个问题。
https://stackoverflow.com/questions/27030183
复制相似问题