在调用 onAttach() 方法之前隐藏片段内的视图



我想在未调用该方法时隐藏片段中的视图onAttach()。我知道在这种方法之前不会隐藏视图,但我想知道有什么方法可以实现这一点吗?

更具体地说,我的问题是我想在片段(B(中隐藏一些视图,当我在其他片段(A(中并且在片段B中调用onAttach()方法之后,必须隐藏视图。

您可以在官方文档 https://developer.android.com/guide/components/fragments 中浏览片段生命周期。片段的视图首先在onCreateView()生命周期中绘制,即在onAttach()之后,您可以初始化视图并将其设置为不可见。因此,当您的片段 B 加载时,用户将无法看到这些视图,并且它将被隐藏。

将可见性设置为从 xml 文件中消失/不可见,当您需要显示时,以编程方式将可见性设置为可见。

我解决了我的问题。首先,应该提到的是,片段用于FragmentStatePagerAdapter,我不确定是否正确,但我的片段是按以下方式调用的

companion object {
internal var addressQFragment = AddressQFragment()
fun newInstance(): AddressQFragment {
return addressQFragment
}
}

因此,在调用函数之前onAttach()我可以更改所有变量。使用它,我首先更改了我的标志,当创建视图时,它将使用此标志并隐藏必要的视图。如果有更正确的方法,我在等你的答案。

最新更新