如何检查Parcelable是否为NULL

时间:2015-01-26 17:04:57

标签: java android parcelable

我正在接收MainActiviy中的parcelable对象。我尝试过使用

 if((Task)getIntent().getExtras().getParcelable(Create.TASK_KEY) != null)

在尝试获取Parcelable之前进行检查。不幸的是,这会使应用程序与空指针异常崩溃。在尝试检索parcelable之前,如何检查以确保parcelable可用?

2 个答案:

答案 0 :(得分:4)

你可以使用

  if (getIntent().hasExtra(Create.TASK_KEY)) {

  }

仅当内部包不为空并且您有一个带有作为参数

提供的键的对象时,它才返回true 正如从@kcoppock中正确指出的那样,你也可以在包中放置一个空对象。

  Task task = null;
  if ((task = getIntent().getParcelableExtra(Create.TASK_KEY)) != null) {
     // do something with task
  }

答案 1 :(得分:2)

我认为getExtras返回null值,因此您的代码会导致NullPointerException。尝试检查额外值是否为空值:

Bundle extras = getIntent().getExtras();
if(extras != null && extras.getParcelable(Create.TASK_KEY) != null) {
    ...
}