私は自分のコンテンツを表示するためにタブ付きのViewPagerindicatorを使用しています。重要なのは、私のフラグメントは、多くの要素と画像のために、それらを生成するのに多くの時間がかかる重いビューを持っているということです。ロード中にプログレスバーを表示したいのですが、どうやって管理すればいいですか?私のテストインスタンス(TestFragment)には、多くのtextViewを備えたこのメソッドがあります(現実をシミュレートします)。
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
LinearLayout layout = new LinearLayout(getActivity());
layout.setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
layout.setGravity(Gravity.CENTER);
for (int a=0; a < 1000; a++) layout.addView(createTextView());
return layout;
}
私のページャーアダプターでは、ページを変更するときにフラグメントを待たないように、すべてのフラグメントを1回ロードできます。
ViewPager pager = (ViewPager)findViewById(R.id.pager);
pager.setAdapter(adapter);
pager.setOffscreenPageLimit(5);
しかし、私にはわかりません。ロードされたすべてのフラグメントをどのように管理できますか?それらはすべてアダプタに次々にロードされるため、次のようになります。
public Fragment getItem(int position) {
return TestFragment.newInstance(position);
}
何か案は?