gpt4 book ai didi

android - 在androidx.fragment.app.Fragment中,setUserVisibleHint()被弃用了,并且没有被执行,为什么?

转载 作者:行者123 更新时间:2023-11-30 05:01:43 24 4
gpt4 key购买 nike

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
super.setUserVisibleHint(isVisibleToUser);
if (getUserVisibleHint()) {
isVisible = true;
onVisible();
} else {
isVisible = false;
onInVisible();
}
}

发现这部分代码没有执行

最佳答案

他们只是更改了 Fragments 中的 API。

如果您使用此方法来限制 fragment 生命周期:

You can now set a max Lifecycle state for a Fragment by callingsetMaxLifecycle() on a FragmentTransaction. This replaces the nowdeprecated setUserVisibleHint().

来源:https://developer.android.com/jetpack/androidx/releases/fragment#1.1.0-alpha07 .

如果您需要此方法,因为您试图检测哪个 fragment 当前在 ViewPager 中可见。您现在可以只使用 onResumeonPause 方法,但在此之前您应该更改 FragmentPagerAdapter 构造函数中的默认行为。

像这样:

FragmentPagerAdapter(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT)

编辑:因为 FragmentPagerAdapter 也已弃用,所以最好使用 ViewPager2现在。对于 ViewPager2,这是默认行为,我们可以使用 onResumeonPause 方法来了解哪个 fragment 当前可见。

关于android - 在androidx.fragment.app.Fragment中,setUserVisibleHint()被弃用了,并且没有被执行,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58135397/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com