【发布时间】:2018-04-03 03:56:56
【问题描述】:
这是非常简单的代码:
@Parcelize
data class Inner(val a: Int): Parcelable
@Parcelize
data class Test(val a: Int, val inner: Inner?): Parcelable
@RunWith(AndroidJUnit4::class)
class ExampleInstrumentedTest {
@Test
fun testParcel() {
val test = Test(0, null)
val parcel = Parcel.obtain()
parcel.writeParcelable(test, test.describeContents())
}
}
我有可以为空的属性Test.inner。如果它不为空,则代码可以正常工作,但是当它为空时,我会遇到异常:
java.lang.NullPointerException: Attempt to invoke interface method 'void android.os.Parcelable.writeToParcel(android.os.Parcel, int)' on a null object reference
如何解决这个问题?也许我做错了什么。
【问题讨论】:
-
这些文件是在test文件夹还是androidTest文件夹?
-
@SangeetSuresh 它在androidTest中
-
@SilviaH 你是对的。谢谢。
标签: android kotlin parcelable kotlin-android-extensions