Android studio 对象分类器没有伴生对象,因此必须在此处初始化[kotlin]

Android 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

问题如下。 Android studio正在显示以下消息:

-反对 分类器“Object”没有伴生对象,因此必须在此处初始化

-选择项 未解析的引用对象:selectedItem

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