Lim*_*mon 5 android android-fragments android-toolbar
我在主要活动中设置了一个工具栏,当我进入片段时,我想在其上添加一个滑块.如果我有权访问Toolbar对象,我只会这样做:
Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
getSupportActionBar().setDisplayShowTitleEnabled(false);
Spinner mNavigationSpinner = new SpinnerTrigger(getSupportActionBar().getThemedContext());
toolbar.addView(mNavigationSpinner);
Run Code Online (Sandbox Code Playgroud)
但是,如果我使用它
((ActionBarActivity) getActivity()).getSupportActionBar()
Run Code Online (Sandbox Code Playgroud)
我没有任何addView()方法.所以我的问题是,如果工具栏本身是在Activity中创建的,如何在片段中向工具栏添加视图.
我不确定这是否是最好的观点,但我不认为我可以在布局中定义Spinner,因为我的大多数片段都没有使用它,他们只是设置一个标题工具栏.但与此同时,如果我可以在主活动中定义一次工具栏并且不为每个片段重做它,那将会很棒.
Bud*_*ius 24
从Ellitz回答的另一种方法是实现同样的事情,在片段内直接访问工具栏(或活动内的任何其他视图):
Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);
Run Code Online (Sandbox Code Playgroud)
你可以使用它
Toolbar refTool = ((NameOfClass)getActivity()).toolbar;
Run Code Online (Sandbox Code Playgroud)
或者,创建MainActivity的实例,然后覆盖onAttach(Activity activity)并将MainActivity的实例对象分配给onAttach()中的活动
| 归档时间: |
|
| 查看次数: |
17018 次 |
| 最近记录: |