我正在使用CustomPagerAdapter
创建一个可由ActionBar
标签或水平滑动控制的应用程序。选择选项卡时,屏幕上会显示与该选项卡对应的fragment
。创建应用程序并选择任何选项卡时,相邻选项卡,片段将加载到内存中。我不希望这种情况发生。我希望这样,当选择一个选项卡时,只有选定选项卡的fragment
被加载到内存中。有没有办法做到这一点?
编辑:我目前遇到问题的代码如下:
public class fragA extende Fragment
{
private VideoView videoViewA;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment_A, container, false);
videoViewA = (VideoView) rootView.findViewById(R.id.videoViewA);
return rootView;
}
@Override
public void setUserVisibleHint(final boolean isVisibleToUser)
{
super.setUserVisibleHint(isVisibleToUser)
if (isVisibleToUser)
{
videoViewA.setVideoURI(LINK);
videoViewA.start();
}
else
{
videoViewA.stopPlayback();
}
}
}
我收到的错误是在videoViewA.setVideoURI(LINK);线。请注意,链接实际上存在,但出于隐私原因,我无法发布。
编辑2:它是ajava.lang.NullPointerException。
编辑3:对不起,但我正在努力做到这一点。代码现在反映了我实际写的内容。
答案 0 :(得分:1)
尝试在setUserVisbleHint()中加载视频,在显示片段时,FragmentPageAdapter会触发该视频。 http://developer.android.com/reference/android/support/v4/app/Fragment.html#setUserVisibleHint(boolean)
如果这对您不起作用,您还可以尝试检查onHiddenChanged(布尔值隐藏)。 http://developer.android.com/reference/android/app/Fragment.html#onHiddenChanged(boolean)