Android studio 对象分类器没有伴生对象,因此必须在此处初始化[kotlin]
问题如下。 Android studio正在显示以下消息: -反对 分类器“Object”没有伴生对象,因此必须在此处初始化 -选择项 未解析的引用对象:selectedItemAndroid studio 对象分类器没有伴生对象,因此必须在此处初始化[kotlin],android-studio,kotlin,spinner,Android Studio,Kotlin,Spinner,问题如下。 Android studio正在显示以下消息: -反对 分类器“Object”没有伴生对象,因此必须在此处初始化 -选择项 未解析的引用对象:selectedItem override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_set_training_route) val s
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_set_training_route)
val spinner: Spinner = findViewById(R.id.S24)
ArrayAdapter.createFromResource(
this,
R.array.A24,
android.R.layout.simple_spinner_item
).also { adapter ->
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item)
spinner.adapter = adapter
}
S24.onItemSelectedListener = object : AdapterView.OnItemSelectedListener{
override fun onNothingSelected(parent: AdapterView<*>?) {
}
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
//Problem here
Object selectedItem = parent.getItemAtPosition(position)
if (selectedItem.equals("Red")) {
sendCommand("1000024")
}
//To here
}
}
override-fun-onCreate(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity\u set\u training\u route)
val微调器:微调器=findViewById(R.id.S24)
ArrayAdapter.createFromResource(
这
R.A.A24,
android.R.layout.simple\u微调器\u项目
)。另外{适配器->
adapter.setDropDownViewResource(android.R.layout.simple\u微调器\u下拉菜单\u项)
spinner.adapter=适配器
}
S24.onItemSelectedListener=对象:AdapterView.onItemSelectedListener{
覆盖未选择的乐趣(家长:AdapterView?){
}
覆盖已选择(父项:AdapterView?,视图:view?,位置:Int,id:Long){
//这里有问题
对象selectedItem=parent.getItemAtPosition(位置)
如果(选择编辑项等于(“红色”)){
sendCommand(“1000024”)
}
//到这里
}
}
应该是val selectedItem:Any=parent.getItemAtPosition(position)
谢谢你的回答。我刚刚尝试了你的解决方案,现在我在网上收到了这条消息:parent.getItemAtPosition(position)在AdapterView的可空接收器类型上只允许安全或非空关联调用?是的!对不起,它应该是parent?.getItemAtPosition(position)
,因为parent
是可空的AdapterView?
。val selectedItem:Any=parent?.getItemAtPosition(position)现在我收到了一条类型不匹配的消息。很抱歉打扰您,但确实需要将其公开。这是当我未尝试就键入时发生的情况。它返回的是Any?
,而不是Any
。它应该是val selectedItem:Any=parent.getItemAtPosition(position)
谢谢您的回答。我刚刚尝试了您的解决方案,现在我在网上收到了这样一条消息:parent.getItemAtPosition(position)在AdapterView的可空接收器类型上只允许安全或非空关联呼叫?是的!对不起,应该是parent?。getItemAtPosition(position)
因为parent
是可为空的AdapterView?
。val selectedItem:Any=parent?.getItemAtPosition(位置)现在我收到一条类型不匹配的消息。很抱歉打扰您,但确实需要将其公开。这是当我未尝试就键入此内容时发生的情况。它返回的类型是Any?
,而不是Any
。