在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) } }