当前位置: 首页 > 面试题库 >

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

杜哲彦
2023-03-14
问题内容

我想将工具栏设置为操作栏,但是由于您的工具栏是布局元素,因此必须位于您的布局中。现在我的布局在我的片段中。

我在布局中添加了工具栏,并在片段中对其进行了调用:

//Toolbar
Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);

之所以有效,是因为我可以设置标题等等,但是现在我希望它作为操作栏做出反应,因为我实际上想拥有它。setDisplayHomeAsUpEnabled(true)

为此,我必须将工具栏更改为操作栏:

setSupportActionBar(toolbar);

这在我的片段中不起作用…

谁能帮助我让我的工具栏充当片段中的操作栏。


问题答案:

现在ActionBarActivity已弃用,因此您需要先将活动从转换getActivity()AppCompatActivity。这是一个例子:

((AppCompatActivity) getActivity()).getSupportActionBar().setSubtitle();

您必须进行强制转换的原因是因为getActivity()返回a FragmentActivity并且您需要一个AppCompatActivity



 类似资料:
  • 我在Google IO repo中使用了以下代码:https://github.com/google/iosched/blob/master/android/src/main/java/com/google/samples/apps/iosched/ui/BaseActivity.java 我试图在向上滚动时隐藏工具栏,它工作得很好,但我的问题是,当工具栏在屏幕外动画时,我的主要内容保持不变。 在

  • 问题内容: 我正在尝试创建一个viewpager,它可以通过3个不同的片段滑动,每个片段具有不同的工具栏。我之前已经在一个活动中实现了新工具栏,并且可以使用它,但是我正在尝试使其与片段一起使用 这是片段代码 我使用扩展了片段,但是却出现了错误 我不确定如何解决此问题,如果删除代码,它将停止在某些设备上运行吗? 问题答案: 片段没有这种方法。ActionBar是Activity的属性,因此要将工具栏

  • 我正在尝试创建一个viewpager,它可以用不同的工具栏浏览3个不同的片段。我之前在一个活动中实现了新工具栏,并使其正常工作,但我正在尝试使其与片段一起工作 这是碎片代码 我正在用片段扩展我的片段,但是我得到了错误 我不知道如何解决这个问题,如果我删除代码,它会停止与某些设备一起工作吗?

  • 我用项目模板中的导航抽屉创建了一个新项目,我想在中心设置工具栏的标题,如下所示

  • 问题内容: 我有一个这样布置的应用程序,mainactivity包含2个带有相应片段的选项卡,第一个片段具有可正常使用的回收站视图,我试图在人向上或向下滚动时添加视差效果,不是确保我是否应该将其添加到片段的xml或mainactivity的xml中,我将其添加到mainactivity的xml并将片段包含为我的recyclerview,不用说视差不起作用,现在应用程序无法打开,我立即获取NullP

  • 我有一个没有动作栏主题的appcompat活动。我在活动中运行一个片段来显示项目列表。项目以两种模式显示:列表和删除。当屏幕打开时,它始终处于列表模式。两种显示模式下的动作条是不同的。在列表模式下,在操作栏的右侧有两个菜单项,当片段打开时会显示出来。当我从删除模式回到列表模式时,菜单项不会膨胀。如何使菜单项膨胀,同时从删除模式到列表模式。 进入屏幕后,用户进入列表模式。我有setHasOption