私のデータベースにデータを追加するフラグメントがあります。私がで閉じると、dismiss()、私の活動に戻ります。そのアクティビティで自分のrecyclerViewを更新したいと思います。フラグメント終了後のOnResumeによるアクティビティの更新
アクティビティのライフサイクルを理解すると、onResumeを正しく呼び出す必要がありますか?私はonResumeメソッドのログインを持っていて、それが呼び出されていないと言うことができる限りです。
もっと良い解決策は何ですか、なぜこれが呼び出されないのですか?
onResume
@Override
public void onResume() {
super.onResume();
Log.e("Resume", "Resuming");
}
ボタン私のフラグメントでリスナーをクリックします。ここのログは完璧に機能します。
//save button for saving workouts
mButton2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
String title = mEditText.getText().toString();
String category = mSpinner.getSelectedItem().toString();
String weight = mEditText2.getText().toString();
int icon = buildIcon(category);
//pass all the data into a new object for the Recycler View to store and show also refresh
db.addWorkout(new Workout(title, weight, "8/8/8", icon));
Log.e("Database Build", "Added a new workout: " + title);
dismiss();
}
});
アクティビティは一時停止されていないので、フラグメントが閉じているときには 'onResume'を入力しません。これは、アクティビティがフラグメントをホストするためです。フラグメントは単純にオーバーレイされているため、アクティビティは表示されませんが、技術的には、OSに関する限り、アクティビティはまだ表示されています。アクティビティーに何かを伝えたい場合は、フラグメントから何らかのタイプのイベントを送信し、アクティビティーのそのイベントにサブスクライブする必要があります。または、コールバックを使用することもできます。 –