如何确定片段何时在ViewPager中可见问题:碎片onResume()在……里面ViewPager在碎片实际可见之前触发。例如,我有两个片段ViewPager和FragmentPagerAdapter..第二个片段仅供授权用户使用,我需要要求用户在片段可见时登录(使用警报对话框)。但ViewPager在第一个片段可见时创建第二个片段,以便缓存第二个片段,并在用户开始滑动时使其可见。所以onResume()事件在第二个片段中激发,很久之后它才变得可见。这就是为什么我试图找到一个事件,当第二个片段在适当的时候显示一个对话框时,这个事件就会触发。这是如何做到的呢?
3 回答
芜湖不芜
TA贡献1796条经验 获得超7个赞
如何确定片段何时在ViewPager中可见
setUserVisibleHint
Fragment
:
public class MyFragment extends Fragment { @Override public void setUserVisibleHint(boolean isVisibleToUser) { super.setUserVisibleHint(isVisibleToUser); if (isVisibleToUser) { } else { } }}
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
onResume()
onResume()
@Overridepublic void setUserVisibleHint(boolean visible){ super.setUserVisibleHint(visible); if (visible && isResumed()) { //Only manually call onResume if fragment is already visible //Otherwise allow natural fragment lifecycle to call onResume onResume(); }}@Overridepublic void onResume(){ super.onResume(); if (!getUserVisibleHint()) { return; } //INSERT CUSTOM CODE HERE}
- 3 回答
- 0 关注
- 584 浏览
添加回答
举报
0/150
提交
取消