我正在寻找在 Kotlin 中创建 GridView 的帮助。请不要向我展示 JAVA 代码,因为我已经尝试过改编各种 JAVA 示例。
因此,我创建了 BaseAdapter 的扩展,但我无法传递上下文。安卓documentation显示它如何通过调用 gridview.setAdapter(new ImageAdapter(this));
进行访问。
将 BaseAdapter 分配给我 Activity 中的 GridView 元素
collectionView.adapter = ButtonAdapter()
我已经尝试在内部传递上下文,但我收到太多参数的错误
collectionView.adapter = ButtonAdapter(baseContext())
我的 BaseAdapter 扩展以及我尝试通过其初始化的方法
class ButtonAdapter : BaseAdapter() {
var con: Context? = null
//.....
fun ButtonAdapter(context: Context) {
con = context
}
}
我在尝试传递上下文和创建 GridView 时做错了什么?提前感谢您的帮助。
最佳答案
像这样改变你的类(class):
class ButtonAdapter(val context: Context) : BaseAdapter() {
// ...
然后你可以传递上下文:
ButtonAdapter(context)
fun
用于函数。要通过构造函数传递数据,您可以像上面那样更改代码,这是主要的构造函数。
添加 val
是可选的。它使 context
成为类的属性,以便您可以访问类中的 context
。
关于android - 在 Kotlin 中构建 GridView 时无法传递上下文,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45835542/