私のアプリには3つのタブを持つアクティビティがあり、それぞれにListFragmentが含まれています。 ListFragmentが異なるコンテンツを表示する必要がありますが、私はそれが上書きされてしまいますバンドルを通してそれを渡すと私は同じ内容(最新のもの)との3つの断片を得るとき は、ここでは、コードです:異なるフラグメントを別のフラグメントに渡すアクティビティのタブ付き
活動ののonCreateメソッドで:フラグメントクラスの
{...
Fragment fragment;
Bundle bundle= new Bundle();
for(int i = 0; i<CATEGORIES.size(); i++) {
fragment = new MyListFragment();
bundle.putSerializable("Data", data.get(i));
fragment.setArguments(bundle);
screens.put(CATEGORIES.get(i),fragment);
}
setUpViewPagerAndTabs();
...
... }
protected void setUpViewPagerAndTabs(){
mViewPager = (ViewPager) findViewById(R.id.viewpager);
mViewPager.setOffscreenPageLimit(screens.size()+1);
mAdapter = new PageAdapter(screens, getSupportFragmentManager());
mViewPager.setAdapter(mAdapter);
tabs = (TabLayout) findViewById(R.id.tabs);
tabs.setTabGravity(TabLayout.GRAVITY_FILL);
tabs.setTabMode(TabLayout.MODE_FIXED);
tabs.setupWithViewPager(mViewPager);
}
このラインは、対応するデータの上書きを生成する:
ArrayList<String> names = (ArrayList<String>)
b.getSerializable(Activity.DATA);
IはOで、フラグメントにカウンタ(i)の値を通過しようとする場合であってもrderはフラグメント内のデータの正しい要素を選択するために上書きされます。 どうすれば解決できますか? ありがとうございました
あなたは右、どのような愚かなエラーです。どうもありがとうございました。 – paola91