【问题标题】:How to intercept the fragment call to popBackStack() in MainActivity?如何拦截 MainActivity 中对 popBackStack() 的片段调用?
【发布时间】:2017-01-23 10:43:00
【问题描述】:

在我的应用程序中,当用户单击列表项时,我将转换为 DetailsFragment。并且有两个选项可以回到主要的Fragment(列表Fragment)。

  • 按返回按钮。 (这里没问题,因为我在onBackPressed()MainActivity 处理这个)
  • Toolbar 后退箭头(这是我的问题)。

当用户按下工具栏后退箭头时,我调用如下

getActivity().getSupportFragmentManager().popBackStack();

如何在MainActivity 中拦截此事件? (当列表Fragment 对用户可见时,我在MainActivity 中进行了一些操作。

【问题讨论】:

标签: android android-fragments fragment


【解决方案1】:

只需输入此代码

toolbar.setNavigationOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            onBackPressed();
        }
    });

【讨论】:

  • 我在我的DetailsFragment中使用了以下内容@Override public boolean onOptionsItemSelected(MenuItem item) { int id = item.getItemId(); if (id == android.R.id.home) { getActivity().onBackPressed(); } return true; }
  • 现在可以了,但这仅适用于顶部后退箭头
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-11-13
  • 2017-09-22
  • 1970-01-01
  • 2019-01-05
  • 1970-01-01
  • 2014-01-07
  • 1970-01-01
相关资源
最近更新 更多