フラグメントAとBを持つBは、拡張Aのようなものです。BからのUIデータの更新は、Aに格納する必要があり、AのUIはデータベースに保存するかどうかを決定します。1つのフラグメントから置換されたフラグメントにデータを渡す方法
だから、まずAをバックスタックに入れ、ある時点でBを必要とし、Bをバックスタックに入れ、 'replace()'でホルダーに入れます。
Bへのデータの受け渡しは引数で行うことができません。 BフラグメントからAフラグメントにデータを戻す方法(AがホルダーのBによって '置き換えられました'(現在は表示されていないか '存在しています')の場合) Developersウェブサイトから
Bundle args = new Bundle();
args.putSerializable(TAG_MY_CLASS, myClass);
Fragment bFrgmt = new B();
bFrgmt.setArguments(args);
getFragmentManager()
.beginTransaction()
.replace(R.id.holder, bFrgmt, TAG_B_FRAGMENT)
.addToBackStack(TAG_B_FRAGMENT).commit();
通常、フラグメント間の通信はアクティビティ(パターンオブザーバ)を介して行われます。したがって、アクティブなフラグメントは、そのアクティビティーに(インターフェースを介して)起こっていることをアクティビティーに伝え、アクティビティーはそれをFragment1に伝えることができます – alla
ありがとうalla!私は私の質問は、Bがまだ画面上にあり、Aが未知の状態(同じ「ホルダー」上でBに置き換えられている)のときに、BからAに配信する最良の方法であると考えています。考えてみたのは、Bポップスタックイベントをキャッチして、OSがその時にAにデータを渡すことができるように、 'ホルダー'のAを元に戻すからです。良い方法はありますか? – lannyf