私は3つのフラグメントを持つアプリを持っていました。私はpageadapterを使用しているので、配列リストを使用してフラグメントをロードします。問題は、Arraylistを追加するとフラグメントがすべてフラグメントをロードし、その後別の2つのフラグメントをロードすると、nexus 4でうまく動作しますただし、HW が少ない他の一部の電話には時間がかかります。Androidマーケットでは、ページからページに移動すると「ロード」しているように見えますが、どうすればこれを行うことができますか? 次のアダプターを使用して、人々がそのページに変更したときにのみビューを「作成」します
public class PagerAdapter extends FragmentPagerAdapter {
private final ArrayList<Fragment> mFragments = new ArrayList<Fragment>();
private final ArrayList<String> titulos = new ArrayList<String>();
public PagerAdapter(FragmentManager manager) {
super(manager);
}
public void addFragment(Fragment fragment,String title) {
mFragments.add(fragment);
titulos.add(title);
notifyDataSetChanged();
}
@Override
public int getCount() {
return mFragments.size();
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
これが FragmentActivity にフラグメントをロードする方法です
mPagerAdapter = new PagerAdapter(getSupportFragmentManager());
mPagerAdapter.addFragment(new Fragment1(),"Phone");
mPagerAdapter.addFragment(new Fragment2(),"info");
mPagerAdapter.addFragment(Fragment3.newInstance() , "none");