Kotlin 无法使用 Putextra 从模型类发送数据

问题描述

我创建了一个如下所示的结构。当我单击第一个活动中的列表时,我想要有关第二个活动中该项目的信息。但是,我无法使用 putextra 发送数据。如果你有兴趣,我会很高兴。我不完全了解这个主题。因此,如果有人感兴趣,我会分配必要的代码。

客户.kt

    val listView=findViewById<ListView>(R.id.listView)
    val list=ArrayList<CustomerModel>()

    listView.setOnItemClickListener { adapterView,view,i,l ->

        val intent=Intent(applicationContext,CustomersDetails::class.java)
      //I think that's not true   intent.putExtra("Name",list[i])
        startActivity(intent)
    }

客户详细信息.kt

 val intent=intent
    choosenCustomer= intent.getStringExtra("Name").toString()

客户模型.kt

class CustomerModel(val title:String,val description:String,val img:Int): Parcelable {
constructor(parcel: Parcel) : this(
    parcel.readString()!!,parcel.readString()!!,parcel.readInt()
) {
}

override fun writeToParcel(parcel: Parcel,flags: Int) {
    parcel.writeString(title)
    parcel.writeString(description)
    parcel.writeInt(img)
}

override fun describeContents(): Int {
    return 0
}

companion object CREATOR : Parcelable.Creator<CustomerModel> {
    override fun createFromParcel(parcel: Parcel): CustomerModel {
        return CustomerModel(parcel)
    }

    override fun newArray(size: Int): Array<CustomerModel?> {
        return arrayOfNulls(size)
    }
}

}

客户适配器.kt

class CustomerAdapter(var mCtx:Context,val resources: Int,var items:List<CustomerModel>):
ArrayAdapter<CustomerModel>(mCtx,resources,items) {

override fun getView(position: Int,convertView: View?,parent: ViewGroup): View {
    val layoutInflater: LayoutInflater= LayoutInflater.from(mCtx)
    val view:View=layoutInflater.inflate(resources,null)

    val imageView: ImageView=view.findViewById(R.id.image)
    val titleTextView: TextView=view.findViewById(R.id.cuText)
    val descriptionTextView:TextView=view.findViewById(R.id.ofText)

    var mItem:CustomerModel=items[position]

    imageView.setImageDrawable(mCtx.resources.getDrawable(mItem.img))
    titleTextView.text=mItem.title
    descriptionTextView.text=mItem.description
    return view
}

}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)