gpt4 book ai didi

android - onPageSelected 在 onViewCreated 之前调用

转载 作者:太空狗 更新时间:2023-10-29 15:00:35 30 4
gpt4 key购买 nike

现在这对我来说是个大问题,因为我需要从接口(interface)调用方法我 viewpager 中的所有 fragment 都在实现。我需要做这样的事情:

@Override
public void onPageSelected(int position) {
this.getActivity().getActionBar().setSelectedNavigationItem(position);

FragmentVisible fragment = (FragmentVisible) this.fragmentPager.instantiateItem(this.viewPager, position);

if (fragment != null) {
fragment.fragmentBecameVisible();
}
}

这适用于“正常启动”但是当我旋转屏幕时我得到空指针异常因为 onPageSelected 在 onViewCreated 之前被调用。我需要我的观点每次都得到更新 fragment 变得可见。首先,我希望 onResume 每次都会被调用,但它没有。为了那个原因我实现了接口(interface):

public interface FragmentVisible {
public void fragmentBecameVisible();
}

有人知道如何解决这个问题吗?

最佳答案

根据 FragmentPagerAdapter's setPrimaryItem()方法(当 ViewPager 设置当前页面时调用),它调用 setUserVisibleHint(true)对于当前页面的 fragment 。您可以在 Fragment 中覆盖该方法,并在其中执行您的 fragmentBecameVisible() 方法。

关于android - onPageSelected 在 onViewCreated 之前调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27258118/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com