首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将工具栏设置为片段中的操作栏

将工具栏设置为片段中的操作栏
EN

Stack Overflow用户
提问于 2014-11-20 01:25:43
回答 6查看 85.7K关注 0票数 47

我想将我的工具栏设置为一个操作栏,但是由于您的工具栏是一个布局,所以它必须在您的布局中。现在我的布局在我的碎片里。

我在布局中添加了工具栏,并将其命名为片段中的工具栏:

代码语言:javascript
复制
//Toolbar
Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);

它可以工作,因为我可以设置标题等等,但是现在我希望它作为一个动作栏来反应,因为我想要这个。setDisplayHomeAsUpEnabled(真)

要做到这一点,我必须将工具栏更改为actionbar:

代码语言:javascript
复制
setSupportActionBar(toolbar);

在我的碎片里行不通..。

有人能帮我让我的工具栏在一个片段中作为一个操作栏工作吗?

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-09-30 04:52:50

现在不推荐ActionBarActivity了,所以您需要首先将您的活动从getActivity()转换为AppCompatActivity。下面是一个例子:

代码语言:javascript
复制
((AppCompatActivity) getActivity()).getSupportActionBar().setSubtitle();

您必须转换它的原因是因为getActivity()返回一个FragmentActivity,您需要一个AppCompatActivity

票数 68
EN

Stack Overflow用户

发布于 2016-01-27 07:36:47

尝试:

代码语言:javascript
复制
 ((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);
票数 32
EN

Stack Overflow用户

发布于 2014-11-20 01:34:36

ActionBar是一个活动属性。如果希望将给定片段中的工具栏设置为所属活动的ActionBar,则获取拥有该片段(Fragment.getActivity())的活动并设置其ActionBar属性。

然后juse使用您提到的相同的setDisplayHomeAsUpEnabled方法,在将工具栏设置为ActionBar以获取back / up按钮之后,在ActionBar上开始。

如果您的应用程序在该活动中包含多个片段,那么显然您必须小心地处理这个问题。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27030183

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档