2017-12-16 13 views
0

私は最初に自分のアクティビティにフラグメントを追加しました。 Onclickメソッドが前のフラグメントを新しいものに置き換えるボタンがあります。一旦私が戻るボタンを押すと、これまでの断片に戻ります。しかし、もう一度そのボタンをクリックしようとすると、次の断片は膨らんでいません。どうしてこんなことに?バックスタックに追加されたフラグメントは完全に正常に機能しますが、以前のフラグメントに戻っても、2番目のフラグメントは膨らんでいません。

fragmentManager = getFragmentManager(); 
    fragmentTransaction = fragmentManager.beginTransaction(); 
    MainFragment fragment = new MainFragment(); 
    fragmentTransaction.add(R.id.mainFragment,fragment); 
    fragmentTransaction.commit(); 

コードの上記部分はOnCreate関数である()とOnClickListnerメソッドから次のコードに示すようにIは、()メソッドonPostResumeに最初のフラグメントからボタンにOnclickListenerを追加しました。

fragmentTransaction = fragmentManager.beginTransaction(); 
    TakeDataFragment fragment=new TakeDataFragment(); 
    fragmentTransaction.replace(R.id.mainFragment,fragment); 
    fragmentTransaction.addToBackStack(null); 
    fragmentTransaction.commit(); 

かつては完全に正常に動作しますが、最初の1に戻って第2のフラグメントから取得した後、それも、ボタンのクリックイベントに第2のフラグメントを膨らまはありません。

+0

注:FragmentManagerとFragmentTransactionの両方がandroid.appパッケージに属しています。 –

答えて

0

問題は解決されました。私はアクティビティのコールバックメソッドを使用して、onClickListnersを最初のフラグメントの内側にあるボタンに設定していました。今私はフラグメントのonResume()コールバックメソッドを使用して正常に動作します。ありがとう!

関連する問題