我的代码的某些部分如何知道Fragment实例在屏幕上可见?如何检测一个片段何时出现在屏幕上?
以下片段将解释我的问题。
public class MyApp extends Application {
public static final String TAG = MyApp.class.getSimpleName();
@Override
public void onCreate() {
super.onCreate();
registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {
...
@Override
public void onActivityResumed(Activity activity) {
Log.d(TAG, activity.getClass().getSimpleName() + " is on screen");
}
@Override
public void onActivityStopped(Activity activity) {
Log.d(TAG, activity.getClass().getSimpleName() + " is NOT on screen");
}
...
});
}
在这里,我可以跟踪我的应用程序中的任何活动何时出现在屏幕上。有什么方法可以在碎片上扩展这种方法吗?
喜欢的东西 Activity.getFragmentManager().registerFragmentLifecycleCallbacks();
UPD。我对活动实现一无所知,他们是否全部使用片段以及他们如何使用它们(通过xml,ViewPager注入等)。我的课程中唯一的内容就是应用程序上下文。假设Activity和Fragment实现是黑盒子,我无法做出任何更改。
如果您的Fragment的onResume方法被调用,那意味着您的片段对用户可见。 – Toppers 2015-04-06 11:36:28
好吧...比方说,片段实现是一个黑盒子,我没有能力添加几行代码。 – 2015-04-06 12:57:39
因此,您推动反应迟钝的应用程序设计。 – danny117 2015-04-14 16:31:07