【发布时间】:2020-05-28 23:59:11
【问题描述】:
我已经看到了实现活动微调器的指南和教程。但是,相同的方法不适用于片段。这是我在片段类的onCreateView 方法中的代码
val personnames = arrayOf("akshat" , "mourya")
val arrayAdapter = ArrayAdapter(this, android.R.layout.simple_spinner_item, personnames)
spinner.adapter = arrayAdapter
spinner.onItemSelectedListener = object :
AdapterView.OnItemSelectedListener {
override fun onNothingSelected(parent: AdapterView<*>?) {
}
override fun onItemSelected(
parent: AdapterView<*>?,
view: View?,
position: Int,
id: Long
) {
spinnerText.text = personnames[position]
}
在第 2 行调用 ArrayAdapter 方法时,我收到类型不匹配错误,因为第一个参数需要上下文,而在我的代码中它是一个片段。
我尝试在活动中做同样的事情,它奏效了。
片段应该像迷你活动,那为什么会出现这个错误呢?
还有什么方法可以将微调器添加到我的片段中?
【问题讨论】:
-
传递
requireContext()而不是this。
标签: android android-fragments kotlin spinner