片段关闭后使用 OnResume 更新 Activity

Updating Activity with OnResume after Fragment Closes

我有一个片段可以将数据添加到我的数据库中。当我用 dismiss() 关闭它时,它 returns 到我的 activity。然后我想在 activity.

中更新我的 recyclerView

我对 activity 生命周期的理解是应该调用 onResume 正确吗?我的 onResume 方法中有一个 Log,据我所知它没有被调用。

什么是更好的解决方案,为什么不调用它?

恢复

  @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();
        }
    });

当您开始处理片段时,Activity 从未暂停。 onResume 在这种情况下不会被调用,这是预期的生命周期行为。

您应该考虑实施某种类型的回调,让 Activity 知道 Fragment 何时关闭。 android documentation 对如何与片段进行通信有很好的解释。使用文档中的模式并为自己构建一个 OnFragmentClosedListener