Kotlin开发中传递对象方法

使用Java开发时候,页面之间的跳转都是采用Serializable和Parseable进行传递,Kotlin也可以采用这种方式实现传递,但是Kotlin里面的Bean中要去重写一堆Parseable的方法,代码看起来就特别臃肿,我就采用下面一种方式进行传递,代码很简洁明了。
Kotlin写法:

data class Datas(
        var checkCarDealerSimilarResponseList: List = listOf(),
        var similarReason: String = ""
) : CommonConfig()

继承的CommonConfig代码:


open class CommonConfig {

    companion object {

        fun  fromJson(json: String, clazz: Class): T {
            return Gson().fromJson(json, clazz)
        }
    }

    fun toJson(): String {
        return Gson().toJson(this)
    }
}

下面是我的页面之间的传递方法:

// 传递
var listData: Datas = Datas()
val intent = Intent(this, SearchActivity::class.java)
intent.putExtra("data", listData.toJson())
startActivity(intent)

// SearchActivity页面接收:
private fun getExtra() {
        val datas = CommonConfig.fromJson(intent.getStringExtra("data"), Datas::class.java)
}

使用方法:
1、在你的data class 中去继承CommonConfig()
2、传递时候调用 .toJson()方法
3、接收代码中用Gson()生成对应的实体就行了,非常简单。

你可能感兴趣的:(Kotlin开发中传递对象方法)