Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/215.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 在创建OnView之前调用onPageSelected_Android - Fatal编程技术网

Android 在创建OnView之前调用onPageSelected

Android 在创建OnView之前调用onPageSelected,android,Android,现在这对我来说是个大问题,因为我需要从接口调用一个方法 我的viewpager中的所有片段都在实现。我需要这样做: @Override public void onPageSelected(int position) { this.getActivity().getActionBar().setSelectedNavigationItem(position); FragmentVisible fragment = (FragmentVisible) this.fragmentP

现在这对我来说是个大问题,因为我需要从接口调用一个方法 我的viewpager中的所有片段都在实现。我需要这样做:

@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之前被调用。我需要每次更新我的视图 可以看到一个片段。首先,我希望onResume每次都能接到电话,但事实并非如此。为此 我实现了接口:

public interface FragmentVisible {
    public void fragmentBecameVisible();
}

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

根据该方法(当
查看页面设置当前页面时调用),它调用当前页面的片段。您可以在
片段中重写该方法,并在其中执行
片段becamevisible()
方法。

这也在onCreate或onCreateView之前调用。但我想我能应付。我将实现setUserVisibleHint和onResume,并在setUserVisibleHint中检查我的视图是否为null。谢谢