Lau*_*yts 42 java android toolbar fragment android-actionbar
我想将工具栏设置为操作栏,但由于工具栏是一个布局,因此必须在您的布局中.现在我的布局在我的片段中.
我在我的布局中添加了工具栏,我在我的片段中调用它:
//Toolbar
Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);
Run Code Online (Sandbox Code Playgroud)
它的作用是因为我可以设置标题等等,但现在我希望它作为动作栏做出反应,因为我想要实际拥有它.setDisplayHomeAsUpEnabled(真)
为此,我必须将工具栏更改为操作栏:
setSupportActionBar(toolbar);
Run Code Online (Sandbox Code Playgroud)
这在我的片段中不起作用......
任何人都可以帮助我让我的工具栏作为片段中的操作栏工作.
Pra*_*ani 55
现在ActionBarActivity已弃用,因此您需要将活动从第一个投射getActivity()到AppCompatActivity第一个.这是一个例子:
((AppCompatActivity) getActivity()).getSupportActionBar().setSubtitle();
Run Code Online (Sandbox Code Playgroud)
你必须抛出它的原因是因为getActivity()返回a FragmentActivity而你需要一个AppCompatActivity
not*_*one 26
尝试:
((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);
Run Code Online (Sandbox Code Playgroud)
dom*_*der 17
ActionBar是一个Activity属性.如果要将给定片段中的工具栏设置为拥有Activity的ActionBar,则获取拥有fragment(Fragment.getActivity())的Activity 并设置其ActionBar属性.
然后,在将工具栏设置为ActionBar以获取后退/上移按钮后,juse将使用您在ActionBar中提到的相同setDisplayHomeAsUpEnabled方法.
如果您的应用在该活动中有多个片段,您显然必须仔细管理.
使用
((ActionBarActivity) getActivity()).getSupportActionBar().setSubtitle("Your Title");
Run Code Online (Sandbox Code Playgroud)