当我按下活动中的后退按钮时,我正在尝试将数据从活动传递到片段。
我试过了:
活动
@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片段。
感谢。
答案 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);
}
}