Android Intent传值问题 小白求解 感谢大神!

这是从一个MainActivity中的一个Fragment穿值到另一个Activity中去。(Fragment是用ViewPager的)

sp那个是一个值 可以不用管

 Intent intent_budget = new Intent(getActivity(), BudgetSetActivity.class);
                String defaultBudgetValue =
                        SpUtils.getString(getActivity(), ConstantValue.BUDGET_SET, "6000.00");
                intent_budget.putExtra("DefaultBudgetVaule", defaultBudgetValue);
                startActivityForResult(intent_budget, 0);

然后我在另一个Activity中接受这个值是可以的,然后我想用另一个intent返回一个值给前面的Fragment中:log中测试这个值已经正确放进来intent的extra中;

String SetValue = "SetValues";
 intent.putExtra(SetValue, userValue + "0");
            this.setResult(ResultCode, intent);
            Log.i(log, intent.getStringExtra(SetValue));
            finish();

log日志如下:
值为900.86

 04-03 11:35:18.055 641-655/system_process I/ActivityManager: Displayed com.chase.cn.money_of_my/activity.BudgetSetActivity: +1s550ms
04-03 11:35:24.555 4585-4585/com.chase.cn.money_of_my I/BudgetSetActivity: 900.86
04-03 11:35:24.559 641-691/system_process W/ActivityManager: Duplicate finish request for ActivityRecord{5299c6dc u0 com.chase.cn.money_of_my/activity.BudgetSetActivity t22 f}

问题来了,我在返回以后那个Fragment中使用了onActivityResult

 @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if (requestCode == 0 && resultCode == 101) {
            String SetValue = data.getStringExtra("SetValues");
            tv_tab01_month_budget.setText(SetValue);
            Log.i(log,"SetValues"+SetValue);

        }
    }

但是获取的值完全不是传过来的。
log如下:

 04-03 11:35:24.575 4585-4585/com.chase.cn.money_of_my I/Fragment_tab01: SetValues6000.00

为什么呢 小白求解 感谢大神们!!!

你的Code值对不,还有fragment在显示之后不能改变上面的数据

fragment中的onActivityResult 并不会被调用。
需要重写其父类的onActivityResult方法
然后在父类的onActivityResult方法中,通过fragmentManager得到子fragment并调用其onActivityResult。
fragment的onActivityResult才会真正执行。