gpt4 book ai didi

java - 在android中管理工具栏的导航和后退按钮从一个 fragment 到另一个 fragment

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:04:35 25 4
gpt4 key购买 nike

我所有的 fragment 都是通过ActionBarActivity(ma​​inActivity)控制的,在ma​​inActivity中实现了一个DrawerLayout所有子 fragment 都通过 drawerLayout 的列表项点击推送。我面临的问题是在通过 drawerLayout 推送 fragment 后,我想将抽屉图标更改为 ToolBar 的后退图标,以便用户可以导航到上一个 fragment 并处理 android.R 的回调.id.home 在同一 fragment 内或在 ma​​inActivity 内。

最佳答案

你已经将 Fragment 添加到返回堆栈,并像这样在 fragment 管理器中添加了 listener

getSupportFragmentManager().addOnBackStackChangedListener(new FragmentManager.OnBackStackChangedListener() {
@Override
public void onBackStackChanged() {
if (getSupportFragmentManager().getBackStackEntryCount() > 0) {
getSupportActionBar().setDisplayHomeAsUpEnabled(true); // show back button
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
onBackPressed();
}
});
} else {
//show hamburger
getSupportActionBar().setDisplayHomeAsUpEnabled(false);
toggle.syncState();
toolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
drawerLayout.openDrawer(GravityCompat.START);
}
});
}
}
});

关于java - 在android中管理工具栏的导航和后退按钮从一个 fragment 到另一个 fragment ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36865463/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com