是否可以通过重写在getview适配器函数中添加变量



如何使用以下谷歌语法在(列表视图的(getview中引用适配器:

fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
return (convertView ?: layoutInflater.inflate(R.layout.my_layout, parent, false)).apply {
// … bind content from position to convertView …
//personal comment : "this" does not refer to adapter
}
}

事实上,在.apply之后,我必须调用适配器才能生成adapter.notifyDataSetChanged()

用一个";"经典语法";,适配器可以被调用,这要归功于";这个";,这在谷歌语法中是不可能的。

"经典语法";

fun getView(position: Int, convertView: View?, parent: ViewGroup): View {
....
//"this" (refers to adapter)
return convertView
}

那么,是否可以重写getview函数来在签名中添加变量呢?否则,我的问题怎么解决?

您应该使用.also { ... }而不是.apply { ... }

如果我答对了你的问题,你可以:

编写与适配器相同的getView(...)函数,带有附加参数

在适配器重写的getView(...)中调用getView(),根据需要传递参数。

最新更新