android - 在 Fragment 中获取工具栏

标签 android android-fragments android-toolbar

我在我的主要 Activity 中设置了一个工具栏,当我进入一个 fragment 时,我想在上面添加一个 slider 。如果我有权访问 Toolbar 对象,我会简单地执行以下操作:

Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);


Spinner mNavigationSpinner = new SpinnerTrigger(getSupportActionBar().getThemedContext());
toolbar.addView(mNavigationSpinner);

但是如果我使用

((ActionBarActivity) getActivity()).getSupportActionBar()

我没有任何 addView() 方法。所以我的问题是,如果工具栏本身是在 Activity 中创建的,我如何在 fragment 中向工具栏添加 View 。

我不确定这是否是解决此问题的最佳 View ,但我不认为我可以在布局中定义微调器,因为我的大部 fragment 段都不使用它,它们只是设置工具栏的标题。但与此同时,如果我可以在主要 Activity 中定义一次工具栏而不是为每个 fragment 重做,那就太好了。

最佳答案

Ellitz answer 实现相同目的的另一种方法是,在 fragment 内直接访问工具栏(或 Activity 内的任何其他 View ):

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

关于android - 在 Fragment 中获取工具栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31380447/

相关文章:

android - 在 android 应用程序而不是 SQLite 中实现 MS Access 数据库?

android - 如何将 ChrisBanes 的 ActionBar-PullToRefresh 库与具有 GridView 的 fragment 一起使用

android - 删除操作栏顶部的深色

android - 在 Android 中以编程方式隐藏工具栏主页/后退按钮?

Java-在 Android Studio 中将数据从 Activity 发送到选项卡 fragment

Android SDK 版本 24 在后退按钮和其他工具栏元素之间添加了额外的填充

android - 是否有为所有用户卸载应用程序的 Intent ?

android - 如何从 AsyncTask 返回数据到主线程

android - SharedPreferences.Editor putString 和 putInt 错误

android - 如何在 Android Fragments 中添加操作栏选项菜单