如何设置退格按钮到位 ActionbarDrawerToggle 导航到以前的片段?

Posted

技术标签:

【中文标题】如何设置退格按钮到位 ActionbarDrawerToggle 导航到以前的片段?【英文标题】:how to set backspace button in place ActionbarDrawerToggle to navigate to previous fragments? 【发布时间】:2021-10-31 20:03:09 【问题描述】:

我正在从 Main_activity.java 调用片段,也从其他片段调用片段,但我想在加载任何片段(来自 Main_activity 或任何其他片段)而不是 ActionBarDrawerToggle 时显示退格(

public class MainActivity extends AppCompatActivity 

NavigationView nav;
ActionBarDrawerToggle toggle;
DrawerLayout drawerLayout;
Toolbar toolbar;
ImageView homeInToolbar;

@Override
protected void onCreate(Bundle savedInstanceState) 
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    toolbar=findViewById(R.id.toolbar);
    setSupportActionBar(toolbar);

    nav=findViewById(R.id.navigationview);
    drawerLayout=findViewById(R.id.drawer);
   // homeInToolbar=findViewById(R.id.homeInToolbar);

    toggle=new ActionBarDrawerToggle(this,drawerLayout,toolbar,R.string.open,R.string.close);
    drawerLayout.addDrawerListener(toggle);
    toggle.syncState();
    FragmentManager manager=getSupportFragmentManager();
    nav.setCheckedItem(R.id.menu_home);


    FragmentTransaction transaction=manager.beginTransaction();
    manager.beginTransaction().replace(R.id.framelayout,new HomeFragment()).commit();

Main_Activity where the toogle is shown and after click on students, the image should look like

【问题讨论】:

【参考方案1】:

在 setSupportActionBar(toolbar); 之后添加这两行

setSupportActionBar(toolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
getSupportActionBar().setDisplayShowHomeEnabled(true);

【讨论】:

【参考方案2】:

这对我有用。 在调用片段的 main_activity 中,我禁用了切换,如下面的代码所示。

 public void onClick(View v) 
            toggle.setHomeAsUpIndicator(R.drawable.ic_back);
            toggle.setDrawerIndicatorEnabled(false);
            getActivity().getSupportFragmentManager().beginTransaction().replace(R.id.framelayout,new FeeFragment(toggle)).addToBackStack(null).commit();
        
    );

如有必要,我可以通过以下代码启用切换。

toggle.setDrawerIndicatorEnabled(true);

【讨论】:

以上是关于如何设置退格按钮到位 ActionbarDrawerToggle 导航到以前的片段?的主要内容,如果未能解决你的问题,请参考以下文章

防止退格按钮导航回上一个 XPage

如何防止用户使用浏览器的后退按钮或退格键访问上一个 jsp 页面 [重复]

哪个委托方法将调用单击键盘中的退格按钮

如何使用jQuery捕获退格键? [复制]

当使用退格键或删除按钮提交按钮颜色不改变

如何将加速键赋予键盘退格键