android – 在Fragment中获取工具栏

我在主要活动中设置了一个工具栏,当我进入片段时,我想在其上添加一个滑块.如果我有权访问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中创建的,如何在片段中向工具栏添加视图.

我不确定这是否是最好的观点,但我不认为我可以在布局中定义Spinner,因为我的大多数片段都没有使用它,他们只是设置一个标题工具栏.但与此同时,如果我可以在主活动中定义一次工具栏并且不为每个片段重做它,那将会很棒.

最佳答案
从Ellitz回答的另一种方法是实现同样的事情,在片段内直接访问工具栏(或活动内的任何其他视图):

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

转载注明原文:android – 在Fragment中获取工具栏 - 代码日志