Android 如何监视片段更改?

Android 如何监视片段更改?,android,fragment,android-fragmentactivity,Android,Fragment,Android Fragmentactivity,在开发SDK时,我只能在Application.class中实现代码。 现在我了解了Android API: application.registerActivityLifecycleCallbacks(activityLifecycleCallbacks) 及 但是它不起作用,因为在kotlin中,当我切换到不同的片段时,不会调用onFragmentResume,,创建一个这样的类 object YourClass: FragmentManager.FragmentLifecycleCall

在开发SDK时,我只能在Application.class中实现代码。 现在我了解了Android API:

application.registerActivityLifecycleCallbacks(activityLifecycleCallbacks)


但是它不起作用,因为在kotlin中,当我切换到不同的片段时,不会调用
onFragmentResume
,,创建一个这样的类

object YourClass: FragmentManager.FragmentLifecycleCallbacks(), Application.ActivityLifecycleCallbacks {}
在应用程序类中,将以下内容放入onCreate()中

在你的课堂上写下

override fun onActivityResumed(activity: Activity){(activity as BaseActivity).supportFragmentManager.registerFragmentLifecycleCallbacks(YourClass, true)}
其中BaseActivity是实现AppCompativity()的自定义类


现在,YourClass将自己挂接到android应用程序中的所有活动中,并且每次都会收到应用程序中所有片段的onFragmentResumed()回调。

传递true for
recursive
try。@Jaymin谢谢~我几分钟前就尝试过了。不幸的是,只有在第一次显示相应的片段时才会调用回调函数,例如
onFragmentPaused()
函数。将调用该函数是因为系统调用此方法作为用户离开片段的第一个指示。
registerActivityLifecycleCallbacks(YourClass)
override fun onActivityResumed(activity: Activity){(activity as BaseActivity).supportFragmentManager.registerFragmentLifecycleCallbacks(YourClass, true)}