[FragmentStatePagerAdapterだけ充電ページ
「メモリ使用量を最小限に抑える。これは。未定義でページ数のためのオブジェクトのコレクションをページネーションのための優れているユーザーは他のページに移動するよう断片を破壊し、」FragmentStatePagerAdapterを使用している場合このFragmentStatePagerAdapterは次のように動作します。最初に0の位置を読み込んだときの動作は、ロード ページ0に、ページ1に移動するとページ3が読み込まれ、ページ3がロードされます。現在位置)。 実際の位置の後ろのタブに移動してもデータを再度ロードしないと、ビューをキャッシュすると問題が発生します この動作では、実際のビューの左右のビューがキャッシュされているようですが、 、 FragmentStatePagerAdapterはPageAdapterを継承し、このクラスを変更するに言及するには、インターネットアクセスのオプションを見つける 省略この動作
あなたは明らかにされていないのStackOverflowで見つかった答えは、私がした場合、誰かがすることができますしてください、5日間、この問題を解決していません私はそれを解決する方法を説明するのに役立ちます、私は無限に満足します。おそらくそれはあなたが期待するように動作しません [
//のgetItem FragmentStatePagerAdapterキャッシュをクリアし カスタムクラスはおそらくFragmentStatePagerAdapterキャッシュをクリアし カスタムクラス(ただ現在のフラグメントを膨らませる)
public class CostumAdapter extends FragmentStatePagerAdapter {
public CostumAdapter(FragmentManager fm) {
super(fm);
}
@Override
public Fragment getItem(int position) {
System.out.println("POSICION: "+position);
Bundle bundle = new Bundle();
FragmentBebidas fragmentBebidas = new FragmentBebidas();
bundle.putInt("ID", Integer.parseInt(listMenu.get(position).getId()));
fragmentBebidas.setArguments(bundle);
return fragmentBebidas;
}
@Override
public CharSequence getPageTitle(int position) {
return menuTabs.get(position).toString();
}
@Override
public int getCount() {
return menuTabs.size();
}
@Override
public int getItemPosition(Object object) {
return POSITION_NONE;
}
@Override
public void destroyItem(ViewGroup container, int position, Object object) {
super.destroyItem(container, position, object);
}
}
あなたが望むものをクリアしません! –
選択した位置の後ろのタブがキャッシュされていて、戻ってもタブのデータは機能しなくなります。私はちょうど選択されたタブのデータを更新したいのですが、他のタブのデータは更新しないようにしたいので、それぞれのタブで瞬時に確認してください@Kishore Jethava –