簡體   English   中英

如何在意圖中傳遞Parceable?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM