在我的项目中,我有一个活动和不同的片段,对于一些raisons,我使用片段内的工具栏。
我还有一个抽屉菜单,这就是我在主要活动中添加的内容
mDrawerToggle = new ActionBarDrawerToggle(this, this.mDrawerLayout, 0, 0)
{
public void onDrawerClosed(View drawer) {
super.onDrawerClosed(drawer);
invalidateOptionsMenu();
}
public void onDrawerOpened(View drawer) {
super.onDrawerOpened(drawer);
invalidateOptionsMenu();
}
};
mDrawerLayout.addDrawerListener(mDrawerToggle);
.
.
.
public void setDrawerState(boolean isEnabled) {
if (isEnabled) {
mDrawerToggle.setDrawerIndicatorEnabled(true);
mDrawerToggle.syncState();
} else {
mDrawerToggle.setDrawerIndicatorEnabled(false);
mDrawerToggle.syncState();
}
}
我有两个片段:家庭和细节片段 在我的homeFragment中,我希望看到汉堡包图标,当我点击它时抽屉菜单开始(这是我第一次点击时发生的事情)。
HomeFragment中的代码:
((AppCompatActivity) getActivity()).setSupportActionBar(mToolbar);
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
((AppCompatActivity) getActivity()).getSupportActionBar().setHomeButtonEnabled(true);
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayShowTitleEnabled(false);
((MainActivity) mContext).setDrawerState(true);
接下来当我从主片段开始细节片段时,我必须看到向上的插入符号图标,当我点击它时,我会回到主片段。
在DetailFragment中的代码:
((AppCompatActivity) getActivity()).setSupportActionBar(mToolbar);
((AppCompatActivity) getActivity()).getSupportActionBar().setDisplayHomeAsUpEnabled(true);
((AppCompatActivity) getActivity()).getSupportActionBar().setHomeButtonEnabled(true);
((MainActivity) mContext).setDrawerState(false);
当我回去时,汉堡包图标不再起作用,有时后面的图标也不能用于其他低级别的碎片。
是我做的正确或有另一种更好的方法来做到这一点
请帮助。