【问题标题】:Which lifecycle method is called after popBackStack on visible fragment?在可见片段上的 popBackStack 之后调用哪个生命周期方法?
【发布时间】:2019-07-30 12:53:43
【问题描述】:

我有一个单独的活动,可以在其中打开片段。这些片段相互之间有交易。例如,活动包含 3 个片段(片段 1、片段 2、片段 3)。片段 1 打开片段 2,片段 2 打开片段 3。在后按时,popBackStack() 被调用。但是,没有任何生命周期方法在 iOS 中的 viewWillAppear() 等新可见片段上被调用。使用哪种方法可以检测到该片段是否可见?

我已经尝试过onResume()getUserVisibleHint()onAttach()

@Override
    public void onResume() {
        super.onResume();

    }

@Override
    public boolean getUserVisibleHint() {
        return super.getUserVisibleHint();
    }

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    super.setUserVisibleHint(isVisibleToUser);
}

它们都没有被调用。感谢您的帮助。

【问题讨论】:

    标签: java android android-fragments


    【解决方案1】:

    应该调用onResume()方法。

    当你在你的activity中添加一个fragment时,你需要将事务添加到backstack中,这样它就可以包含在back navigation stack中了。

    这是一个示例代码:

    FragmentTransaction transaction = this.getSupportFragmentManager().beginTransaction();
    transaction.replace(R.id.fragment_container, yourFragment).addToBackStack(null);
    transaction.commit();
    transaction.addToBackStack(null);
    

    【讨论】:

      猜你喜欢
      • 2013-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-02
      • 1970-01-01
      • 1970-01-01
      • 2021-06-30
      相关资源
      最近更新 更多