0

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);

4

1 に答える 1