所以我在ViewPager中创建了一个Fragements,下面是我的部分代码: (System.out.println(mNum)不打印实际值但TextView是。例如,当从左到右滑动片段时,在第二个片段中,它打印1但是当从右向左滑动时它打印2,尽管TextView正确地显示它两种情况。 来自Android.Developers http://developer.android.com/reference/android/support/v4/app/FragmentPagerAdapter.html
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mNum = getArguments().getInt("num");
viewPager=(ViewPager)getActivity().findViewById(R.id.pager);
}
/**
* The Fragment's UI is just a simple text view showing its
* instance number.
*/
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fragment_pager_list, container, false);
View tv = v.findViewById(R.id.text);
((TextView)tv).setText("Fragment #" + mNum);
System.out.println(mNum);
return v;
}
答案 0 :(得分:0)
使用viewPager时: 让我们说你在屏幕1,屏幕2也被viewPager加载到内存中,但它不可见。由于屏幕2片段已实例化,因此您将在“System.out.println(mNum);”中获得屏幕2的输出。
了解更多信息setOffscreenPageLimit