0

フラグメント内のいくつかのインスタンス変数を交換するだけで、同じフラグメントを再利用しようとしています。私の問題は、UI を強制的に更新できないことです。私は試した:

detailFragment.setDetails(bundle);
FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.detailFragment, detailFragment);
ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_FADE);
ft.commit();

しかし、UI に変更を加えていないようです。新しい DetailFragment() を作成すると同時に、同じコードが正常に動作し、UI が変更されます。手伝ってくれる?

4

2 に答える 2

0

あなたはdetailFragmentあなたのフラグメントクラスを想定しています。

そのクラスのインスタンスを保持する

DetailFragment df = (DetailFragment)detailFragment;

そのクラスにパブリック メソッドを作成する

public void updateMyUi(){
    //do ui stuff
}

その後、あなたがしなければならないのは、電話することだけです

df.updateMyUi();
于 2013-08-08T15:05:26.710 に答える
0

私が理解している限り、フラグメントの「ビュー」を更新したいと考えています。ビューを取得して、新しい値を設定できます。EG: テキストビューの場合は、新しいテキストを設定するだけです。

于 2013-08-08T15:04:38.930 に答える