Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/219.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在每次片段可见时创建回调?_Android_Android Fragments_Visibility - Fatal编程技术网

Android 如何在每次片段可见时创建回调?

Android 如何在每次片段可见时创建回调?,android,android-fragments,visibility,Android,Android Fragments,Visibility,我尝试过这些方法: @Override public void setMenuVisibility(final boolean visible) { if (visible) { CupsTracker.instance.sendAnalyticsView(CupsTracker.VENUES_LIST_SCREEN); } super.setMenuVisibility(visible); } @Override public void setUserVisi

我尝试过这些方法:

@Override
public void setMenuVisibility(final boolean visible) {
   if (visible) {
       CupsTracker.instance.sendAnalyticsView(CupsTracker.VENUES_LIST_SCREEN);
   }
   super.setMenuVisibility(visible);
}

@Override
public void setUserVisibleHint(boolean isVisibleToUser) {
    if (isVisibleToUser) {
        CupsTracker.instance.sendAnalyticsView(CupsTracker.VENUES_LIST_SCREEN);
    }
    else { CupsLog.d(TAG, "list is not visable");}
    super.setUserVisibleHint(isVisibleToUser);
}

@Override
public void onHiddenChanged(boolean hidden) {
    if (!hidden) {
        CupsTracker.instance.sendAnalyticsView(CupsTracker.VENUES_LIST_SCREEN);
    }
    else { CupsLog.d(TAG, "list is not visable");}
    super.onHiddenChanged(hidden);
}
但由于某种原因,他们中没有一个人被叫来。
有人知道如何做到这一点吗?现在我说的不是
ViewPager
,而是简单的
hide
show
事务。

Visible=onStart()和不再Visible=onStop(),不是那么简单,我不认为片段在每次隐藏和显示时都运行这些方法。除此之外,有一段时间我的碎片仍然完好无损,但被另一个碎片所覆盖。因此,它存在于堆栈中,但用户不可见。您尝试过恢复吗?从文档中可以看出,您的片段在每次被另一个片段或活动部分覆盖时都应该暂停,所以我很想知道它是否起作用以及为什么不起作用。您是否尝试过onAttach?在这里,您启动了一个侦听器
onHiddenChanged
始终为活动中已绑定的片段工作。但如果您第一次添加片段(FragmentTransaction::add),那么onHiddenChanged不会调用,而是调用:
onAttach
onStart
onResume