:
私はいつも私の中で使用されている人気のライブラリがありますEventBus
と呼ばれるプロジェクト - ちょうどあなたのbuild.gradle
(モジュールレベル)に以下を追加し、依存関係の下でファイル:
第二
compile 'org.greenrobot:eventbus:3.0.0'
、あなたのイベントを表現するために、単純なPlain Old Java Object (POJO)
を作成します。
public class FragmentAToLastEvent{
private String txtConsAcNo;
private String txtMeterSrMo;
FragmentAToLastEvent(String acNo, String srMO){
this.txtConsAcNo = acNO;
this.txtMeterSrMo = srMO;
}
//getters and setters if needed
public String gettxtConsAcNo(){
return txtConsAcNo;
}
public String gettxtMeterSrMo(){
return txtMeterSrMo;
}
}
次のステップは、実際にここにあなたのEventクラスを使用することです:
だから、あなたは、単にこれを行う、EditText
からテキストを送信するあなたのフラグメントに:あなたの最後の断片で
String txtConsAcNo = f1.txtConsAcNo.getText().toString();
String txtMeterSrMo = f1.txtMeterSrMo.getText().toString();
EventBus.getDefault().post(new FragmentAToLastEvent(txtConsAcNo, txtMeterSrMo));
、
をonCreate
たり、断片のonAttach
内側:単純に完了するために、これを行う
//register your event - making this class a subscriber
EventBus.getDefault().register(this)
//next, override a single method to receive the values you passed from above code (Fragment 1?)
public void onEvent(FragmentAToLastEvent event){
String txtConsAcNo = event.gettxtConsAcNo();
String txtMeterSrMo = event.gettxtMeterSrMo();
//now you can use your text here without problems!
}
最後に、onDestroy内部で登録を解除することを忘れないでください:
@Override
public void onDestroy(){
super.onDestroy();
EventBus.getDefault().unregister(this);
}
これはあなたの破片が実装し、すべてのことを行う必要がありますインターフェイスを使用せずに、私は常に行っているし、それがクリーンであるものです!
私はあなたと幸運に役立つと思います!
これが最善の方法ですか?あなたのクラスはタイトなカップリング – Eenvincible
を持っているので、このような参考文献を保つことは、これは簡単で、最善の方法だと確信しています... –
他の人に役立ちます。 –