【发布时间】:2020-02-26 11:06:13
【问题描述】:
我刚刚将 Android Studio 更新到 3.6 并在我的项目中启用了视图绑定,我可以在我的片段中使用视图绑定。
我有 ListItemAdapter 类,它是 BaseExpandableListAdapter 的子类,我也想为这个类使用视图绑定。适配器类似乎不支持它?
正如我上面提到的。我正在使用 ExpandableListView。下面是在 expandableListView 适配器类中膨胀 GroupView 和 ChildView 的代码。
现在我正在使用 KotlinX.android.synthetic
override fun getGroupView(
groupPosition: Int,
isExpanded: Boolean,
convertView: View?,
parent: ViewGroup?
): View {
var convertView: View? = convertView
?: return context.layoutInflater.inflate(R.layout.list_item_parent_sidemenu, null)
convertView!!.imgGroupIndicatorIcon.isSelected = isExpanded
var headerTitle = getGroup(groupPosition) as String
convertView!!.txtSideMenuParent.text = headerTitle
return convertView!!
}
override fun getChildView(
groupPosition: Int,
childPosition: Int,
isLastChild: Boolean,
convertView: View?,
parent: ViewGroup?
): View {
var convertView: View? = convertView
?: return context.layoutInflater.inflate(R.layout.list_item_child_sidemenu, null)
var childText = getChild(groupPosition, childPosition) as String
convertView!!.txtSideMenuChild.text = childText
return convertView!!
}
【问题讨论】:
-
我想你可以在这个question找到你的答案
-
请提供minimal reproducible example 显示您尝试过的内容并详细解释“适配器类不支持它”的意思。生成的视图绑定类上的
inflate()方法应该可以在LayoutInflater上的inflate()的任何地方工作。 -
即兴发挥,您应该能够在这两个函数中使用视图绑定,以替换您现有的
inflate()调用。
标签: android android-layout view binding