【发布时间】:2020-01-04 20:42:02
【问题描述】:
我有一个显示图像和名字和电话号码的回收视图,我如何实现当您单击该项目时会打开有关联系人的详细信息(图片、名字、姓氏、号码、电子邮件、注释)
我的适配器
class ContactsAdapter (private val context: Context, private val mContactsList: ArrayList<Contacts> = ArrayList())
: RecyclerView.Adapter<RecyclerView.ViewHolder>() {
fun setupContacts(contactsList: ArrayList<Contacts>) {
mContactsList.clear()
mContactsList.addAll(contactsList)
//search(query = "")
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
val layoutInflater: LayoutInflater = LayoutInflater.from(parent.context)
val itemView: View = layoutInflater.inflate(R.layout.inner_contact, parent, false)
return ContactsViewHolder(itemView = itemView)
}
override fun getItemCount(): Int {
return mContactsList.count()
}
override fun onBindViewHolder(holder: RecyclerView.ViewHolder, position: Int) {
if (holder is ContactsViewHolder) {
holder.bind(contactsModel = mContactsList[position])
}
}
class ContactsViewHolder(itemView: View): RecyclerView.ViewHolder(itemView) {
var mContactIcon: CircleImageView = itemView.findViewById(R.id.contact_image)
var mContactFirstName: TextView = itemView.findViewById(R.id.contact_first_name)
var mContactPhone: TextView = itemView.findViewById(R.id.contact_phone)
//var mContactLastName: TextView = itemView.findViewById(R.id.contact_last_name)
fun bind(contactsModel: Contacts) {
contactsModel.images?.let { url ->
Picasso.with(itemView.context).load(url)
.placeholder(R.drawable.ic_person_placeholder)
.into(mContactIcon)
}
mContactFirstName.text = contactsModel.firstName
mContactPhone.text = contactsModel.phone
}
}
}
我的模型课
data class Contacts(
@SerializedName("firstName")
val firstName: String,
@SerializedName("lastName")
val lastName: String,
@SerializedName("phone")
val phone: String,
@SerializedName("email")
val email: String,
@SerializedName("notes")
val notes: String,
@SerializedName("images")
val images: String?
)
【问题讨论】:
标签: android android-studio android-recyclerview android-adapter