Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/198.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 从意图中返回额外内容_Android_Date_Android Intent - Fatal编程技术网

Android 从意图中返回额外内容

Android 从意图中返回额外内容,android,date,android-intent,Android,Date,Android Intent,我很难从一个意图中返回额外的东西。我正在发送一个日期类型的数据对象,在我的发送活动中,我有以下内容: Intent intent = getIntent(); intent.putExtra("SELECTED_DATE",SelectedDate); setResult(RESULT_OK,intent); finish(); 在我的接受活动中 protected void onActivityResult(int requestCode, int resultCode, Intent da

我很难从一个意图中返回额外的东西。我正在发送一个日期类型的数据对象,在我的发送活动中,我有以下内容:

Intent intent = getIntent();
intent.putExtra("SELECTED_DATE",SelectedDate);
setResult(RESULT_OK,intent);
finish();
在我的接受活动中

protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   if(resultCode == RESULT_OK && data != null){
       selectedDate = new Date(data.getExtras().getLong("SELECTED_DATE"));
       displayDate(selectedDate);
   }
}
无论发送的日期是什么,在接收活动中,我收到的是1969年12月31日星期三19:00:00 EST。当我调试它时,putExtra命令中设置了正确的日期值,我可以在mMap值中看到意图的值。在接收端,意图显示“有额外内容”,但mMap=null


我使用类似的代码返回字符串类型,没有问题。是否需要返回其他日期类型?

如果将
日期
对象作为参数传递,则将设置一个
可序列化的
额外值。如果要检索
long
,则需要将额外的设置为
long
,因此:

intent.putExtra("SELECTED_DATE",SelectedDate.getTime());

Intent有许多
putExtra()
方法,您在那里使用的是
putExtra(String,Serializable)
,因为
Date
实现了
Serializable
。使用键(
“SELECTED_DATE”
)检索值时,对象的类型也必须相同。

如果将
日期
对象作为参数传递,则将设置一个可序列化的额外参数。如果要检索
long
,则需要将额外的设置为
long
,因此:

intent.putExtra("SELECTED_DATE",SelectedDate.getTime());
Intent有许多
putExtra()
方法,您在那里使用的是
putExtra(String,Serializable)
,因为
Date
实现了
Serializable
。使用键(
“SELECTED_DATE”
)检索值时,对象的类型也必须相同。

您正在将日期对象作为参数传递给intent,并尝试使其返回

基本上,您必须发送long或String,并在返回活动中返回相同的内容

发送时 接收时 您正在将日期对象作为参数传递给intent,并尝试将其返回到指定的时间

基本上,您必须发送long或String,并在返回活动中返回相同的内容

发送时 接收时
什么是mMap。mMap在哪里?这么长的时间你得到了什么价值?我认为你的代码唯一可能出错的地方是你的
SelectedDate
类型不长。因此
getLong
返回null。可能是
getString
或。。。救命啊!什么是mMap。mMap在哪里?这么长的时间你得到了什么价值?我认为你的代码唯一可能出错的地方是你的
SelectedDate
类型不长。因此
getLong
返回null。可能是
getString
或。。。救命啊!谢谢,我曾读到我应该把时间花得很长,但我没有意识到我必须使用getTime()函数来做这件事。谢谢,我曾读到我应该把时间花得很长,但我没有意识到我必须使用getTime()函数来做这件事。
selectedDate = new Date(data.getExtras().getLong("SELECTED_DATE"));