Java Can';不要通过意图传递包裹

Java Can';不要通过意图传递包裹,java,android,android-intent,parcelable,pass-data,Java,Android,Android Intent,Parcelable,Pass Data,我有两项活动: ListViewActivity 添加活动 和一个对象类: 托杜比 我的ListViewActivity活动中有一个列表视图,当我单击add按钮时,这将启动AddActivity。在AddActivity中,当用户输入标题时,选择日期、时间和我希望AddActivity创建todo对象的类别,并将其传递回ListViewActivity 对不起,我不能分享代码本身,它总是给这个错误的所有时间,所以我上传了请检查出来 再次抱歉。 非常感谢。您只需在ListViewActiv

我有两项活动:

  • ListViewActivity
  • 添加活动
和一个对象类:

  • 托杜比
我的ListViewActivity活动中有一个列表视图,当我单击add按钮时,这将启动AddActivity。在AddActivity中,当用户输入标题时,选择日期、时间和我希望AddActivity创建todo对象的类别,并将其传递回ListViewActivity

对不起,我不能分享代码本身,它总是给这个错误的所有时间,所以我上传了请检查出来

再次抱歉。
非常感谢。

您只需在ListViewActivity中修复ActivityResult方法即可:

  • 由于您在AddActivity“setResult(ListViewActivity.ADD\u REQUEST\u code,intent);”中设置了结果代码ADD\u REQUEST\u code,因此您应该在ListViewActivity中使用“if(resultCode==ADD\u REQUEST\u code){”而不是结果\u OK

  • 您应该从onActivityResult接收意图,而不是ListViewActivity的意图。getIntent()提供ListViewActivity的意图。因此,请使用数据变量:

    onActivityResult(int请求代码、int结果代码、意图数据

  • 最终代码:

    @Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        if (requestCode == ADD_REQUEST_CODE) {
            if (resultCode == ADD_REQUEST_CODE) {
                Log.i("ListViewActivity", "Returned onActivityResult");
                TodoObj todoObj = (TodoObj) data.getParcelableExtra("EXTRA_TODO");
                Toast.makeText(ListViewActivity.this, "" + todoObj.getmYear(),
                        Toast.LENGTH_SHORT).show();
            }
        }
    }
    

    “它总是给出此错误”-哪个错误?当我记录它时,我看不到传递到我的ListViewActivity的任何数据,我甚至看不到我的ListViewActivity的onActivityResult中的日志。我想知道如何获取数据并将其传递到另一个activity并装箱一个对象,将此对象添加到我的Arraylist并在ListViews上显示。非常感谢您的回答,我已经编辑了它,并且它是如何工作的!…我强烈建议您使用的库来制作可包裹的对象:。我会尽快检查它!:)