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

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

我在布局中添加了工具栏,并在我的片段中调用它:

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

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

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

setSupportActionBar(toolbar);

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

任何人都可以帮助我让我的工具栏作为片段中的操作栏工作。


答案 1

现在已弃用,因此您需要将活动从强制转换为第一个。下面是一个示例:ActionBarActivitygetActivity()AppCompatActivity

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

你必须投掷它的原因是因为返回 a 并且你需要一个getActivity()FragmentActivityAppCompatActivity


答案 2

尝试:

 ((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);

推荐