在添加到android.R.id.content的Fragment中未调用onStop

时间:2019-02-15 10:51:40

标签: android android-fragments fragment

我正在使用android.R.id.content添加片段,以便使用以下代码填充Activity的空间。

private void doFragmentTransaction(Fragment fragment, String tag) {
    FragmentTransaction transaction = getSupportFragmentManager().beginTransaction();
    transaction.setCustomAnimations(R.anim.slide_in_bottom_y, R.anim.slide_out_bottom_y,
        R.anim.slide_in_bottom_y, R.anim.slide_out_bottom_y);
    transaction.add(android.R.id.content, fragment, tag);
    transaction.addToBackStack(tag);
    transaction.commitAllowingStateLoss();
}

我有一个问题要赶紧按返回按钮关闭片段。没有调用生命周期方法onStop

为了使所有生命周期方法都能正常工作,我应该怎么做?

1 个答案:

答案 0 :(得分:1)

您好,您可以像下面那样在onBackPressed()上进行活动

  @Override
public void onBackPressed() {
    if (getSupportFragmentManager().getBackStackEntryCount() > 1) {
        val frag = getSupportFragmentManager().findFragmentById(android.R.id.container);
        if (frag is HomeFragment) {
            Fragment currentFragment = (HomeFragment) frag;
            //do your code
            return
        }
    }
    super.onBackPressed();
}