gpt4 book ai didi

java - 如何在 Intent 中传递 Parcelable?

转载 作者:行者123 更新时间:2023-12-02 06:00:58 25 4
gpt4 key购买 nike

我在接收来自其他 Activity 的 Intent 中的额外内容时遇到问题。当我运行代码并在实际创建对象的行使用断点时,我可以看到它是使用调试器创建的。我可以看到该对象被放入 putExtra() 函数中。

在到达结果 Activity 时,尽管使用函数 getParceableExtra() 在收到 Intent 时始终返回 null。

//接收 Activity 中

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data){
if(requestCode == 1){
if(resultCode == Activity.RESULT_OK){
Intent extras = getIntent();
if(extras != null){
Goals addToList = extras.getParcelableExtra(GOAL_PASSING);
if(addToList != null)
mGoal.add(addToList);
}
}
}
}

//发送 Activity 中

    incrementMGoal = (findViewById(R.id.create_goal_button));
incrementMGoal.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Intent returnIntent = new Intent();
Goals newGoal = new Goals(GT,GD,GDueDate);
returnIntent.putExtra(MainActivity.GOAL_PASSING,newGoal);
setResult(Activity.RESULT_OK,returnIntent);
finish();
}
});

我希望当我创建 Intent 时传递 putExtra ,然后接收它并将其放入数组中。然而我只是收到 null。

最佳答案

问题是您的代码采用了错误的 Intent ,而不是 onActivityResult 参数 data

Goals addToList = data.getParcelableExtra(GOAL_PASSING);

所以你应该这样做

Goals addToList = data.getParcelableExtra(GOAL_PASSING);

关于java - 如何在 Intent 中传递 Parcelable?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55977538/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com