Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/179.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
Java Android getSerializableExtra返回null_Java_Android_Android Intent - Fatal编程技术网

Java Android getSerializableExtra返回null

Java Android getSerializableExtra返回null,java,android,android-intent,Java,Android,Android Intent,我有一个正常工作的代码,但有时(不总是,通过Crashlytics)当程序执行getSerializableTra(开始日期)时,我会得到NullPointerException。我总是把long值放在那里,所以它不能为空。是否可能丢失额外的数据 启动意图: Intent intent = new Intent(getActivity(), UsersAroundEventOrHotelActivity.class); intent.putExtra(UsersA

我有一个正常工作的代码,但有时(不总是,通过Crashlytics)当程序执行
getSerializableTra(开始日期)
时,我会得到
NullPointerException
。我总是把
long
值放在那里,所以它不能为空。是否可能丢失额外的数据

启动意图:

Intent intent = new Intent(getActivity(), UsersAroundEventOrHotelActivity.class);
                intent.putExtra(UsersAroundEventOrHotelActivity.PLACE_ID, placeId);
                intent.putExtra(UsersAroundEventOrHotelActivity.PLACE_TYPE, placeType);
                intent.putExtra(UsersAroundEventOrHotelActivity.START_DATE, startDate.getTime());
                intent.putExtra(UsersAroundEventOrHotelActivity.END_DATE, endDate.getTime());
onCreate
方法中获取数据:

Long placeId = (Long) getIntent().getSerializableExtra(PLACE_ID);
        PlaceType placeType = (PlaceType) getIntent().getSerializableExtra(PLACE_TYPE);
        Date startDate = new Date((Long) getIntent().getSerializableExtra(START_DATE));
        Date endDate = new Date((Long) getIntent().getSerializableExtra(END_DATE));

当我用调试器尝试它时,它就像一个符咒,但是一些用户在
行中得到
NullPointerException
。getSerializableExtra(开始日期)
有什么想法吗

Date.getTime()
返回long。。。为什么您要使用
getSerializableExtra
获取它?为什么不
getLongExtra
?edit:@TheTanic true,fixed:)好的,我可以使用这个方法,但问题是使用GetSerializedDextra也可以,但在一些罕见的情况下它会崩溃,我不知道为什么
Date.getTime()
返回long。。。为什么您要使用
getSerializableExtra
获取它?为什么不
getLongExtra
?编辑:@TheTanic true,fixed:)好的,我可以使用这个方法,但问题是使用GetSerializedDextra也可以,但是在一些罕见的情况下它会崩溃,我不知道为什么