Android ExposedDropdownMenu中除字符串以外的其他对象
我想使用MaterialDesign文档中指定的Android ExposedDropdownMenu中除字符串以外的其他对象,android,kotlin,material-design,Android,Kotlin,Material Design,我想使用MaterialDesign文档中指定的AutoCompleteTextView(以及TextInputLayout)作为一个公开的下拉菜单。可以使用自定义对象吗?因此,我可以使用类似于getSelectedItem MD文档: 可以使用自定义对象吗 是的,你可以 假设您正在创建用户的公开下拉菜单: data class User(val id: String, val name: String) { override fun toString(): String {
AutoCompleteTextView
(以及TextInputLayout
)作为一个公开的下拉菜单。可以使用自定义对象吗?因此,我可以使用类似于getSelectedItem
MD文档:
可以使用自定义对象吗
是的,你可以
假设您正在创建用户的公开下拉菜单:
data class User(val id: String, val name: String) {
override fun toString(): String {
return name
}
}
创建列表项布局:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:ellipsize="end"
android:maxLines="1"
android:padding="16dp"
android:textAppearance="?attr/textAppearanceSubtitle1" />
创建适配器:
val adapter = ArrayAdapter<User>(context, R.layout.list_item_user, emptyList())
autoCompleteTextView.setAdapter(arrayAdapter)
autoCompleteTextView.setOnItemClickListener { _, _, position, _ ->
val selectedTeam: User? = arrayAdapter.getItem(position)
}
val adapter=ArrayAdapter(上下文,R.layout.list\u item\u用户,emptyList())
autoCompleteTextView.setAdapter(arrayAdapter)
autoCompleteTextView.setOnItemClickListener{{},位置,{->
val selectedTeam:User?=arrayAdapter.getItem(位置)
}
就这样。快乐编码!:)