问题描述
我创建了一个如下所示的结构。当我单击第一个活动中的列表时,我想要有关第二个活动中该项目的信息。但是,我无法使用 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 (将#修改为@)