我在接收来自其他活动的意图带来的附加功能时遇到问题。当我运行代码并在实际创建对象的行上使用断点时,我可以看到它是使用调试器创建的。我可以看到该对象已放入putExtra()函数中。
通过使用getParceableExtra()函数到达结果活动时,在收到意图后总是返回null。
//正在接收活动
@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);
}
}
}
}
//在发送活动中
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();
}
});
我希望在创建要传递putExtra的意图并将其接收后放入数组中。我只是收到null。
答案 0 :(得分:0)
问题在于您的代码意图错误,而不是onActivityResult
参数data
Goals addToList = data.getParcelableExtra(GOAL_PASSING);
所以您应该这样做
Goals addToList = data.getParcelableExtra(GOAL_PASSING);