一尘不染

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

java

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

我在布局中添加了工具栏,并在片段中对其进行了调用:

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

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

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

setSupportActionBar(toolbar);

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

谁能帮助我让我的工具栏充当片段中的操作栏。


阅读 160

收藏
2020-12-03

共1个答案

一尘不染

现在ActionBarActivity已弃用,因此您需要先将活动从转换getActivity()AppCompatActivity。这是一个例子:

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

您必须进行强制转换的原因是因为getActivity()返回a FragmentActivity并且您需要一个AppCompatActivity

2020-12-03