2 つのフラグメントがあります。1 つはオブジェクトのリストを含み、もう 1 つは最初のリストで選択されたオブジェクトです。最初のタブから項目を追加すると、2 番目のタブに新しいデータを再充電する必要があります。今、私はこのようにやっています:
FragmentTransaction ft = getFragmentManager().beginTransaction();
Fragment fav = new TabFavorites();
ft.replace(R.id.fav_layout, fav);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.commit();
問題は、タブの以前のインスタンスが削除されず、メモリに残っていることです。どうすればいいですか?何か案が?
他のフラグメントはさらに明確です。フラグメントを更新すると、ボタンのアップグレードが複製されます。これは私が使用するコードです。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case R.id.actualizar:{
Log.d("MENU","ACTUALIZAR");
FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
Fragment cha = new TabChannels();
ft.replace(R.id.list_layout, cha);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
ft.commit();
}
ボタンを追加して ActionBarSherlock を更新するには:
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
inflater = getSherlockActivity().getSupportMenuInflater();
inflater.inflate(R.menu.menu_channels, menu);
}
次の行を削除しました: ft.addToBackStack(null);