当前位置: 首页 > 知识库问答 >
问题:

删除顶部片段时未调用片段onResume

漆雕硕
2023-03-14

假设有两个Fragments,X和Y。我在X上添加Y片段。当Y完成它的工作,然后删除,X再次可见。

问题:当Y片段被删除并且X再次可见时,我必须执行一些任务,但不会调用onResume,因为它取决于活动。那么我怎么知道X片段是可见的呢?

共有2个答案

薄哲
2023-03-14

如果您将一个片段推到另一个片段上,片段将不会调用onResume。您需要使用onHiddenChanged方法,该方法将在片段更改可见性时发出通知

@Override
public void onHiddenChanged(boolean hidden) {
    super.onHiddenChanged(hidden);
    if (hidden) {
        //do when hidden
    } else {
       //do when show
    }
}
秦俊发
2023-03-14

在activiy中,您可以使用替换来替换第二个片段:

override fun onCreate(savedInstanceState: Bundle?) {         
      supportFragmentManager.beginTransaction().add(R.id.fragContainer,                 FirstFragment()).addToBackStack(FirstFragment::class.java.simpleName).commit()
     
      btnAdd.setOnClickListener {                   
                supportFragmentManager.beginTransaction().replace(R.id.fragContainer,  
                SecondFragment()).addToBackStack(SecondFragment::class.java.simpleName).commit()
            }
    }

    override fun onBackPressed() {
        super.onBackPressed()
        supportFragmentManager
        .popBackStack(SecondFragment::class.java.simpleName,FragmentManager.POP_BACK_STACK_INCLUSIVE)
    }
 类似资料:
  • P.P.S@Philipp Jahoda,我实现了onCreateOptionsMenu(...)在片段的托管活动中。

  • 问题内容: 我知道有人问过这个问题,但是我遵循了所有答案,但仍然有同样的问题。我有两个脚本,一个是片段管理器(IngredientsActivity),另一个是片段(OtherList)。代码如下 成分活动 其他清单 我发现有多个建议可以覆盖onSaveInstanceState的建议,并且我发现更多建议告诉我使用setRetainInstance。我不知道如果要保存列表的值,为什么setReta

  • 我有一个应用程序,得到了一个活动与2个碎片水平放置。 在我的活动中,我使用膨胀菜单,使用它我可以显示actionbar选项菜单。但是,当我试图从其中一个片段更新操作栏菜单项时,没有调用。因此,我无法更新操作栏选项菜单。

  • 我有一个,它创建一个,然后这个创建另一个: 这让我想到。是否真的可以删除并转到? 提前感谢您的时间,我在网上找不到任何合适的信息!

  • 我有一个活动和两个片段。片断a和片断b。 我需要实现像,最初碎片应该在那里。在之后,单击FragmentB应该在那里。 我的第二段代码:

  • 我有一个片段,其中有recyclerview,并使用recyclerview适配器在这个recyclerview中设置数据。 现在,我在适配器的列表项中单击了一个按钮,我需要检查android中的READ\u EXTERNAL\u STORAGE权限,以查看android中的新权限模型。 我在这个适配器的片段中创建了一个新函数,用于检查是否授予了权限,如果尚未授予权限,则请求权限。 我已经通过了我