我有两个开放类BaseNfcCard和SomeObjectNfcCard。这里,SomeObjectNfcCard扩展了BaseNfcCard和Parcelable,BaseNfcCard也扩展了Parcelable。
当我将SomeObjectNfcCard传递到另一个活动时,我只有来自它的数据,而没有来自BaseNfcCard的数据。这是我的代码问题还是库?
@Parcelize
open class BaseCard(
var cardId: String = "",
var id: String = "",
var type: Int = NfcFieldsHelper.UNDEFINED
) : Parcelable
@Parcelize
open class ObjectCard(
var date: String = "",
var objectState: Int = STATE_UNDEFINED,
var managerId: String = "",
var lastUpdate: String = "",
var plombs: ArrayList<String> = ArrayList()
) : BaseCard(), Parcelable将数据传递给意图
private fun onCardParsed(result: ObjectCard) = startActivity(Intent(this,
CardReadyActivity::class.java)
.putExtra(CardReadyActivity.CARD_DATA, result))从意图中获取数据
private lateinit var card: ObjectCard
card = intent?.extras?.getParcelable(CardReadyActivity.CARD_DATA)!!发布于 2018-08-17 08:22:30
这实际上是在Parcelize中记录的:
注意,只有主构造函数属性才会被序列化。
但从他们的测试用例来看,作文应该是可行的:
@Parcelize
class ObjectCard(
var baseCard: BaseCard,
var date: String = "",
var objectState: Int = 2,
var managerId: String = "",
var lastUpdate: String = "",
var plombs: ArrayList<String> = ArrayList()
)https://stackoverflow.com/questions/51890607
复制相似问题