Android 仿微信通讯录功能实现 - Kotlin 示例代码
以下是一个使用Kotlin编写的Android仿微信通讯录功能的示例代码:
// Contact.kt
data class Contact(val name: String, val phone: String)
// ContactAdapter.kt
class ContactAdapter(private val contacts: List<Contact>) : RecyclerView.Adapter<ContactAdapter.ViewHolder>() {
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.item_contact, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val contact = contacts[position]
holder.nameTextView.text = contact.name
holder.phoneTextView.text = contact.phone
}
override fun getItemCount(): Int {
return contacts.size
}
class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
val nameTextView: TextView = itemView.findViewById(R.id.nameTextView)
val phoneTextView: TextView = itemView.findViewById(R.id.phoneTextView)
}
}
// ContactActivity.kt
class ContactActivity : AppCompatActivity() {
private lateinit var contactRecyclerView: RecyclerView
private lateinit var contactAdapter: ContactAdapter
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_contact)
val contacts = listOf(
Contact('John Smith', '1234567890'),
Contact('Jane Doe', '0987654321'),
Contact('Alice Johnson', '5555555555')
)
contactAdapter = ContactAdapter(contacts)
contactRecyclerView = findViewById(R.id.contactRecyclerView)
contactRecyclerView.layoutManager = LinearLayoutManager(this)
contactRecyclerView.adapter = contactAdapter
}
}
在上面的示例中,我们首先创建了一个Contact数据类来表示联系人的姓名和电话号码。
然后,我们创建了一个ContactAdapter类来管理联系人的列表。该适配器继承自RecyclerView.Adapter,并重写了onCreateViewHolder、onBindViewHolder和getItemCount等方法,以便正确显示联系人列表。
最后,在ContactActivity中,我们创建了一个包含联系人数据的列表,然后将其传递给ContactAdapter并设置给contactRecyclerView来显示联系人列表。
请注意,上述示例代码仅供参考,你可能需要根据自己的需求进行适当修改。
原文地址: https://www.cveoy.top/t/topic/bUE5 著作权归作者所有。请勿转载和采集!