我有两个活动:
- 列表视图活动
- 添加活动
和一个对象类:
- 待办事项
我的 ListViewActivity 活动中有一个列表视图,当我单击添加按钮时,这将启动 AddActivity 。在 AddActivity 中,当用户输入 Title 时,选择日期、时间和类别,我希望 AddActivity 创建一个待办事项对象并将其传递回 ListViewActivity。
对不起,我无法分享代码本身,它总是一直出现这个错误,所以我上传到github请检查一下。
再次抱歉。非常感谢。
我有两个活动:
和一个对象类:
我的 ListViewActivity 活动中有一个列表视图,当我单击添加按钮时,这将启动 AddActivity 。在 AddActivity 中,当用户输入 Title 时,选择日期、时间和类别,我希望 AddActivity 创建一个待办事项对象并将其传递回 ListViewActivity。
对不起,我无法分享代码本身,它总是一直出现这个错误,所以我上传到github请检查一下。
再次抱歉。非常感谢。
您必须在 ListViewActivity中修复onActivityResult方法:
由于您在 AddActivity “ setResult(ListViewActivity.ADD_REQUEST_CODE, intent); ”中设置了结果代码 ADD_REQUEST_CODE ,因此您应该在 ListViewActivity 中使用 “ if (resultCode == ADD_REQUEST_CODE) { ” 而不是RESULT_OK。
您应该收到来自 onActivityResult 的意图,而不是 ListViewActivity 的意图。getIntent() 给出了 ListViewActivity 的意图。所以使用数据变量:
onActivityResult(int requestCode, int resultCode, Intent data )
最终代码:
@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();
}
}
}