使用Android在Kotlin中使用Getter和setter

时间:2018-02-06 12:49:09

标签: android kotlin

我是Kotlin的新手并且正在研究吸气剂和制定者。我正在创建一个数据类,我在其中设置我的字符串值。我有2个活动,来自ActivityA我正在设置数据,我想在其他ActivityB中获取它。如何从ActivityB中的数据类中获取数据?

我的代码段如下:

数据类HelperMethods:

data class HelperMethods(val name: String, val publisher: String)

ActivityA我在哪里设置数据:

val userName = HelperMethods("abc","efg")

我想从我的ActivityB中的数据类中获取此数据。

2 个答案:

答案 0 :(得分:1)

您的数据类应实现Serializable接口,然后将此参数传递给Intent:intent.putExtra("name", yourSerializableObject)。 然后,在activityB中,您可以使用以下内容获取此数据:intent.getSerializableExtra("name")。如果你有一些奇怪的流程(比如A - > ... - > B),那么你可以将你的值存储在sharedPreferences中。但是,如果你从A打开B,只需将其作为intentExtra传递。

答案 1 :(得分:0)

选项1:意图

选项2:持久存储DataBase / SharedPrefrence

选项3:使用EventBus / Rx - PublishSubject

选项4:

var commonVariable : HelperMethods? = null

在kotlin的文件级别。

class Common{
  companion object{
   var commonVariable : HelperMethods? = null
  }
}

在您的活动1中创建一个实例并将其转让给变量

Common.commonVariable = HelperMethods("abc,efg")

在你的活动2中消耗它。

Log.d("i am consuming here",Common.commonVariable.toString)

您只需要处理VOID MEMORY LEAKS的生命周期