按下后退按钮,将数据从活动发送到片段

时间:2017-01-04 17:27:40

标签: android android-fragments android-activity

当我按下活动中的后退按钮时,我正在尝试将数据从活动传递到片段。

我试过了:

活动

@Override
public void onBackPressed() {
    Intent returnIntent = new Intent();
    setResult(Activity.RESULT_CANCELED, returnIntent);
    finish();
}

在片段中

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);

    LOGD("Details", "Yes onActivityResult call");
}

但是没有调用onActivityResultof片段。

感谢。

2 个答案:

答案 0 :(得分:0)

在片段&中为变量创建一个setter。 保持对父活动中片段的引用,onBackPressed(),设置值 - > yourFragment.setValue(XX)

{{1}}

答案 1 :(得分:0)

尝试以下代码:

将此内容写入您的活动中,称为哪个片段

 @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == RESULT_OK) {
  //replace contentContainer with container defined in your activity
        Fragment fragment = getSupportFragmentManager().findFragmentById(R.id.contentContainer);
        fragment.onActivityResult(requestCode, resultCode, data);
    }
}