Java Android getSerializableExtra返回null
我有一个正常工作的代码,但有时(不总是,通过Crashlytics)当程序执行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
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也可以,但是在一些罕见的情况下它会崩溃,我不知道为什么