0

フラグメントへの呼び出しは同期していると思っていましたが、そうではありません。私はアダプタを介して更新するリストビューを含むフラグメント1を持っています。それから私はフラグメント2を起動するボタンを持っています.frag2はfrag1のリストビューに影響を与えますので、私は以下のようにできると思いました。しかし、私がボタンbtn1をクリックすると、私のフラグメントfrag2が起動され、直後にlog.iが表示されます。ネストされたフラグメントの問題 - frag1がfrag2を呼び出します。これは、frag1のリストビューに影響します。

frag1のリフレッシュボタンは避けてください。

frag2が終了した直後にアクションを実行する方法はありますか?あなたの質問によって

@Override 
public void onActivityCreated(Bundle savedInstanceState) { 
    super.onActivityCreated(savedInstanceState); 
    context = getActivity().getApplicationContext(); 

    initFindView(); 

    btn1.setOnClickListener(new View.OnClickListener() { 
     public void onClick(View v) { 
      FragmentTransaction ft = getFragmentManager().beginTransaction(); 
      Frag2 f2 = new Frag2(); 
      ft.replace(R.id.content_frame, f2); 
      ft.addToBackStack(null); 
      ft.commit(); 

      Log.i("TEST","Test - back from tst2"); 

     } 
    }); 

} 
+0

"Frag2はfrag1のリストビューに影響を与えます" - Frag2が表示されている間に実行されたアクションは、ListViewに表示されるデータを変更すると考えられますか?これが当てはまる場合は、LoaderManagerを使用する必要があります(この[Alex J. Lockwoodのブログ記事](http://www.androiddesignpatterns.com/2012/07/understanding-loadermanager.html)のように) – 0X0nosugar

+0

。私はそれを試してみましょう。ありがとう。 – narb

答えて

1

、あなただけに見える結果を必要とする、あなたはそれがstartActivity(ForResult)か、引数として使用することができますParcelableあるフラグメントトラフResultReceiverでトラフ達成し、に結果を待つことができますFrag1を更新してください。

+0

私はあなたが断片から活動を開始できなかったという印象に間違っていました。ありがとう。 – narb

関連する問題