Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/kotlin/3.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 如何在Kotlin中将对象列表从活动a传递到活动B?_Android_Kotlin_Android Intent_Android Activity - Fatal编程技术网

Android 如何在Kotlin中将对象列表从活动a传递到活动B?

Android 如何在Kotlin中将对象列表从活动a传递到活动B?,android,kotlin,android-intent,android-activity,Android,Kotlin,Android Intent,Android Activity,我有两个活动,我想传递一个对象的arraylist并在ListView上显示它 活动A: 活动B: 但是我在您的活动B中得到一个空指针异常来获取您的列表,请尝试以下操作 var arr = this.getIntent().getParcelableArrayListExtra<Parcelable>("Personas") 在活动B中,要获得列表,请尝试以下操作 var arr = this.getIntent().getParcelableArrayListExtra<P

我有两个活动,我想传递一个对象的arraylist并在ListView上显示它

活动A:

活动B:


但是我在您的活动B中得到一个空指针异常

来获取您的列表,请尝试以下操作

var arr = this.getIntent().getParcelableArrayListExtra<Parcelable>("Personas")

在活动B中,要获得列表,请尝试以下操作

var arr = this.getIntent().getParcelableArrayListExtra<Parcelable>("Personas")

在您的活动中,将显示一个包含

intent.putParcelableArrayListExtra("Personas", personas)
intent.getParcelableArrayListExtra("Personas")
在活动B中,使用获取数组列表

intent.putParcelableArrayListExtra("Personas", personas)
intent.getParcelableArrayListExtra("Personas")

在应用程序的build.gradle内的android标记中添加此项并与gradle同步-

androidExtensions {
        experimental = true
    }
数据类

@Parcelize data class Persona(
    val name: String,
    ) : Parcelable

在您的活动中,将显示一个包含

intent.putParcelableArrayListExtra("Personas", personas)
intent.getParcelableArrayListExtra("Personas")
在活动B中,使用获取数组列表

intent.putParcelableArrayListExtra("Personas", personas)
intent.getParcelableArrayListExtra("Personas")

在应用程序的build.gradle内的android标记中添加此项并与gradle同步-

androidExtensions {
        experimental = true
    }
数据类

@Parcelize data class Persona(
    val name: String,
    ) : Parcelable

在android范围下的应用程序build.gradle中添加此项并同步gradle-

androidExtensions {
        experimental = true
    }
然后按如下方式将对象类打包-

@Parcelize
data class Persona() : Parcelable {

}
现在您可以通过intent发送和接收包裹列表


注*-Parcelize是一项实验性功能。

在android范围下的应用程序build.gradle中添加此项并同步gradle-

androidExtensions {
        experimental = true
    }
然后按如下方式将对象类打包-

@Parcelize
data class Persona() : Parcelable {

}
现在您可以通过intent发送和接收包裹列表


注*-Parcelize是实验性功能。

通过模型类上的intent implement Parcelable接口传递数据列表

个人模型类:

主要活动:

活性:


通过模型类上的intent implement Parcelable接口传递数据列表

个人模型类:

主要活动:

活性:


第一步。将此添加到android范围内的app build.gradle中

 androidExtensions {
        experimental = true
    }
步骤2:使对象类实现Parcelable

@Parcelize
 class Persona():Parcelable {
}
第三步。在活动A中,通过意图发送数据:

  val intent = Intent(this, B::class.java)
            intent.putParcelableArrayListExtra("list", personaArrayList)
            startActivity(intent)
步骤4:在接收数据的活动B中:

 val list = intent.getParcelableArrayListExtra<Persona>("list")

第一步。将此添加到android范围内的app build.gradle中

 androidExtensions {
        experimental = true
    }
步骤2:使对象类实现Parcelable

@Parcelize
 class Persona():Parcelable {
}
第三步。在活动A中,通过意图发送数据:

  val intent = Intent(this, B::class.java)
            intent.putParcelableArrayListExtra("list", personaArrayList)
            startActivity(intent)
步骤4:在接收数据的活动B中:

 val list = intent.getParcelableArrayListExtra<Persona>("list")

请张贴您的日志。startActivity呼叫在哪里?您收到的是哪一行的空指针异常?您是否在Persona上实现了Parcelable接口?请发布您的logcat。startActivity调用在哪里?哪一行出现空指针异常?你在人物角色上实现了可包裹的界面吗?它就像一个符咒,而且不再是实验性的;就像一种魅力,再加上它不再是实验性的;