我有 ActionBarActivity
和 NavigationDrawer
并使用 support_v7 Toolbar
作为 ActionBar。在我的 fragment 工具栏之一有自定义 View 。在其他 fragment 中 Toolbar
应该显示标题。
如何获取 Toolbar
实例来自定义 fragment ?我可以使用 getActivity().getActionBar()
获得 ActionBar,但是如果我为此实例 ActionBar 调用 setTitle()
它什么也不做。
UPD:
就我而言
((ActionBarActivity) getActivity()).getSupportActionBar().setTitle();
(正如 MrEngineer13 所说)在第一次创建 fragment 时不起作用,因为我从 onHiddenChanged() 调用它。现在我在 onCreateView() 中添加了更多,它工作正常。
最佳答案
您需要先将您的 Activity 从 getActivity()
转换为 AppCompatActivity
。这是一个例子:
((AppCompatActivity) getActivity()).getSupportActionBar().setTitle();
你必须投它的原因是因为 getActivity()
返回一个 FragmentActivity
并且你需要一个 AppCompatActivity
在 Kotlin 中:
(activity as AppCompatActivity).supportActionBar?.title = "My Title"
关于android - 如何从 fragment 中获取工具栏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26998455/