3 つのフラグメントで構成される Android アプリを開発しています。そのうちの 1 つが ListFragment になり、その内容は他の Fragment で何が起こるかによって異なります。ViewPager オブジェクトを使用して、ユーザーがフラグメント間をスワイプできるようにします。これはそのアダプタークラスです:
private class SwypePagerAdapter extends FragmentPagerAdapter{
private Fragment[] tabFragments;
public SwypePagerAdapter(FragmentManager fm) {
super(fm);
tabFragments=new Fragment[NUMBER_OF_TABS];
tabFragments[0]= Fragment.instantiate(StatCalculatorActivity.this, InsertFrag.class.getName());
tabFragments[1]= Fragment.instantiate(StatCalculatorActivity.this, ResultFrag.class.getName());
tabFragments[2]= Fragment.instantiate(StatCalculatorActivity.this, ValuesFrag.class.getName());
}
@Override
public Fragment getItem(int position) {
return tabFragments[position];
}
@Override
public int getCount() {
return NUMBER_OF_TABS;
}
}
アクティビティが破棄されてから再作成されるまで、すべてが完全に正常に機能します。この後、listFragment はロックされているように見えます。このフラグメントのアクティビティを破棄して再作成するまで、データは更新されません。どうしたの?どうすれば復元できますか?
更新: 私が本当に言いたいことを説明しているとは思いません。アクティビティを破棄して再作成した後、フラグメントは以前のものではないようです。古いものが新しいものと重なり合って、お互いに通信できなくなったようです...ちょうど私がそれらの参照を失ったように、しかしそれらはまだそこにあります...