我想要实现的是当我的Activity还有一个未显示在片段内的栏时,将一个工具栏添加到我的片段UI。基本上,我的Activity和Fragment如何拥有自己的工具栏?
这是我活动中的代码
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mToolbar = (Toolbar) findViewById(R.id.my_toolbar);
setSupportActionBar(mToolbar);
}
这是我片段中的代码
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
mView = inflater.inflate(R.layout.fragment_layout, container, false);
mToolbar = (Toolbar) mView.findViewById(R.id.fragment_toolbar);
((AppCompatActivity) getActivity()).setSupportActionBar(mToolbar);
return mView;
}
我得到的是,当我在片段中创建工具栏时,工具栏是活动的工具栏。我想要做的是我希望片段与它的父Activity有单独的工具栏。
以下是我能想到的一些绝对不理想的事情:
答案 0 :(得分:0)
在一个活动中有两个工具栏是不可取的,因为它看起来非常糟糕。
((AppCompatActivity) getActivity()).setSupportActionBar(mToolbar);
您将使用您在片段的布局文件中定义的工具栏替换活动工具栏。
我建议您在片段在屏幕上可见时使用片段特定的操作,并通过访问工具栏的内容来改变它的行为
Toolbar mToolbar = ((AppCompatActivity) getActivity()).getSupportActionBar();
现在使用mToolbar更改操作