在androidx.fragment.app.Fragment中,不赞成使用setUserVisibleHint(),为什么不执行?

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

我发现这部分代码没有执行。

结束于:

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

如果使用此方法限制片段生命周期:

现在,您可以通过在FragmentTransaction上调用setMaxLifecycle()来为Fragment设置最大生命周期状态。这将替换现已弃用的setUserVisibleHint()。

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

如果需要此方法是因为您尝试检测当前在中可见的片段ViewPager现在,您可以使用onResumeonPause方法代替,但是在此之前,您应该更改FragmentPagerAdapter构造函数中的默认行为

像这样:

FragmentPagerAdapter(fragmentManager, BEHAVIOR_RESUME_ONLY_CURRENT_FRAGMENT)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

'FragmentStatePagerAdapter(androidx.fragment.app.FragmentManager)' 被弃用

Fragment $ InstantiationException关于从android.app.Activity膨胀androidx片段

击碎片段必须附加到@AndroidEntryPoint活动。找到:类androidx.fragment.app.testing.FragmentScenario $ EmptyFragmentActivity

Android崩溃onCreate()-无法将片段强制转换为androidx.navigation.fragment.NavHostFragment

什么是AndroidX?

SupportMapFragment不支持AndroidX Fragment

DatePickerDialog已涂黑androidx.fragment.app.DialogFragment中的按钮

是否可以将Androidx导航与onClick-databinding一起使用,而无需在Fragment中编写锅炉代码?

是否使用Dagger2为AndroidX Fragment提供注入功能?

为什么AdnroidInjector.inject(fragment)使用不推荐使用的android.support.v4.app.Fragment

添加androidx.fragment:fragment-testing依赖项后,AndroidTests停止构建

如何使用androidx / support Fragment获取级别为int的onTrimMemory回调

不可转换的类型;无法将“ androidx.fragment.app.Fragment”转换为“ com.google.android.gms.maps.MapFragment”

空对象引用上的'boolean androidx.fragment.app.FragmentManagerImpl.isDestroyed()'

将androidx.fragment.app.Fragment转换为android.app.fragment.Fragment吗?

Fragment $ Companion无法在BottomNavigationView侦听器上强制转换为androidx.fragment.app.Fragment

使用androidx.fragment.app.FragmentContainerView时发生ClassNotFoundException

发布构建版本因“ androidx.fragment:fragment-testing”库的debugImplementation失败

为什么我不能导入“ androidx.core.app.NotificationChannelCompat”?

更新到androidx.fragment:fragment:1.3.0-alpha08:onCreate之后不再允许registerForActivityResult。onCreate之后如何使用?

尝试使用NavHostFragment并收到错误消息:膨胀类androidx.fragment.app.FragmentContainerView时出错

<androidx.fragment.app.FragmentContainerView> vs <fragment>作为NavHost的视图

android.view.InflateException:二进制XML文件第22行:二进制XML文件第22行:错误膨胀了类androidx.fragment.app.FragmentContainerView

无法启动活动ComponentInfo-膨胀类androidx.fragment.app.FragmentContainerView时出错

如何在带有 caldroid 嵌套的片段内修复“布尔型 androidx.fragment.app.FragmentManagerImpl.isDestroyed()”上的空对象引用

使用androidx.fragment.app.Fragment,我发现在initView()中无法初始化initAdapter(),为什么?

androidx 显示警告的 Fragment 中按钮的 SetBackground:参数 getActivity() 可能为空

引起:java.lang.ClassCastException: androidx.fragment.app.FragmentContainerView 不能转换为 androidx.navigation.fragment.NavHostFragment

无法覆盖 androidx.fragment.app.Dialog 的 onCreateDialog 方法