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