[英]How to pass Parceable in an intent?
我在收到來自不同活動的意圖中的額外內容時遇到了問題。 當我運行代碼並在實際創建對象的行使用斷點時,我可以看到它是使用調試器創建的。 我可以看到放在putExtra()函數中的對象。
在到達結果活動后,雖然使用函數getParceableExtra()在收到intent時始終返回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。
問題是您的代碼采用了錯誤的意圖而不是onActivityResult
參數data
Goals addToList = data.getParcelableExtra(GOAL_PASSING);
所以你應該這樣做
Goals addToList = data.getParcelableExtra(GOAL_PASSING);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.