我在我的主要 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/