2

我正在使用 aFragment开始一个新的Activityusing startActivityForResult(),我在 () 方法中得到结果。因为 ()(Bundle)在( ) 之前调用过。我想确保,我正确保存/保存,以便在被调用时得到保存/保存的结果以执行进一步的操作。onActivityResultonActivityResultonResumeBundleFragment's onResume()

实现这一目标的不同方法是什么。我尝试使用 getArguments()/setArguments(),但这似乎不是实现这一目标的正确方法。

4

1 回答 1

2

尝试这个

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (requestCode == MY_REQUEST) {
        // Make sure the request was successful
        if (resultCode == RESULT_OK) {
            mResultBundle = data.getExtras(); //mResultBundle is in fragment 
            //scope
        }
    }
}

@Override
protected void onResume(){
    super.onResume();
    if(mResultBundle != null){
       // process saved bundle from activity result here

       // don't forget to set it back to null once you are done
       mResultBundle = null;
    }
}
于 2016-02-18T09:13:02.480 回答