我有两个活动:


ListViewActivity
添加活动


和一个对象类:


待办事项


我的ListViewActivity活动中有一个列表视图,当我单击添加按钮时,它将启动AddActivity。在AddActivity中,当用户输入Title时,选择日期,时间和类别,我希望AddActivity创建一个todo对象,并将其传递回ListViewActivity。

抱歉,我无法共享代码本身,它始终始终显示此错误,因此我在github上上传了请检查出来。

再次抱歉。
非常感谢。

最佳答案

您只需在ListViewActivity中修复onActivityResult方法:


因为您在AddActivity中设置了结果代码ADD_REQUEST_CODE“ setResult(ListViewActivity.ADD_REQUEST_CODE,intent);”,所以您应在ListViewActivity中使用“ if(resultCode == ADD_REQUEST_CODE){”,而不要使用RESULT_OK。
您应该从onActivityResult收到意图,而不是ListViewActivity的意图。 getIntent()给出ListViewActivity的意图。因此,使用数据变量:

onActivityResult(int requestCode,int resultCode,Intent数据)


最终代码:

@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();
        }
    }
}

08-04 08:43