在Kotlin中构建GridView时无法传递Context

我正在寻找一些在Kotlin中创建GridView的帮助。 请不要显示我的JAVA代码,因为我已经尝试过适应各种JAVA示例。

所以,我创建了扩展到BaseAdapter,但我无法传递上下文。 Android 文档通过调用gridview.setAdapter(new ImageAdapter(this));显示它如何访问gridview.setAdapter(new ImageAdapter(this));

将BaseAdapter分配给我的活动中的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是用于function。 要通过构造函数传递数据,可以像上面那样更改代码,这是主构造函数。

添加val是可选的。 它使context成为类的一个属性,以便您可以访问类中的context

您可以在主构造函数中发送它,如下所示。

 public class ButtonAdapter(context: Context) : BaseAdapter() { private val mInflator: LayoutInflater init { this.mInflator = LayoutInflater.from(context) } }