android kotlin spinner适用于API 23,但不适用于API 21

android kotlin spinner适用于API 23,但不适用于API 21,android,kotlin,spinner,Android,Kotlin,Spinner,我在真正的设备SM-G900F API 23中测试了我的微调器,它工作得很好。但它在SM-N9005 API 21中不起作用。它显示微调器,但单击微调器时未显示任何选项 请参阅下面我的代码并帮助解决此问题 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_country_se

我在真正的设备SM-G900F API 23中测试了我的微调器,它工作得很好。但它在SM-N9005 API 21中不起作用。它显示微调器,但单击微调器时未显示任何选项

请参阅下面我的代码并帮助解决此问题

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_country_selector)

        val spinnerOne = search_spinner1
        val spinnerTwo = search_spinner2
        val userDetail = UserDetail(this)
        //SpinnerOne
        spinnerOne.adapter = ArrayAdapter<String>(this, R.layout.item, countryArray)
        //SpinnerTwo
        val dataAdapter = ArrayAdapter<String>(this, R.layout.item, tempArray)
        spinnerTwo.setAdapter(dataAdapter)
        spinnerOne.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
            override fun onNothingSelected(parent: AdapterView<*>?) {
            }
            override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
                countrySelected = parent?.getItemAtPosition(position).toString()
                citySelected = countrySelected
                if (countrySelected == "香港") {
                    userDetail.saveCountry(countrySelected)
                    userDetail.saveCity(countrySelected)
                    spinnerTwo.visibility = View.GONE
                    finish()
                } else if (countrySelected == "澳門") {
                    userDetail.saveCountry(countrySelected)
                    userDetail.saveCity(countrySelected)
                    spinnerTwo.visibility = View.GONE
                    finish()
                } else if (countrySelected == "台灣") {
                    userDetail.saveCountry(countrySelected)
                    tempArray.clear()
                    tempArray.addAll(taiwanArray)
                    dataAdapter.notifyDataSetChanged()
                    spinnerTwo.visibility = View.VISIBLE
                } 
            }
        }

        //hide spinner2
        spinnerTwo.visibility = View.GONE
        spinnerTwo.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
            override fun onNothingSelected(parent: AdapterView<*>?) {
            }
            override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
                citySelected = parent?.getItemAtPosition(position).toString()
                if (citySelected == "選擇城市") {
                } else {
                    userDetail.saveCity(citySelected)
                    finish()
                }
            }
        }
override-fun-onCreate(savedInstanceState:Bundle?){
super.onCreate(savedInstanceState)
setContentView(R.layout.activity\u country\u选择器)
val喷丝头=搜索喷丝头1
val喷丝头2=搜索喷丝头2
val userDetail=userDetail(此)
//喷丝头酮
spinnerOne.adapter=ArrayAdapter(this,R.layout.item,countryArray)
//喷丝头2
val dataAdapter=ArrayAdapter(this,R.layout.item,tempArray)
喷丝头2.setAdapter(数据适配器)
spinnerOne.onItemSelectedListener=对象:AdapterView.onItemSelectedListener{
覆盖未选择的乐趣(家长:AdapterView?){
}
覆盖已选择(父项:AdapterView?,视图:view?,位置:Int,id:Long){
countrySelected=parent?.getItemAtPosition(position).toString()
citySelected=countrySelected
如果(选定国家=”香港") {
userDetail.saveCountry(countrySelected)
userDetail.saveCity(countrySelected)
spinnerTwo.visibility=View.GONE
完成()
}如果(countrySelected=”,则为else澳門") {
userDetail.saveCountry(countrySelected)
userDetail.saveCity(countrySelected)
spinnerTwo.visibility=View.GONE
完成()
}如果(countrySelected=”,则为else台灣") {
userDetail.saveCountry(countrySelected)
tempArray.clear()
tempArray.addAll(taiwanArray)
dataAdapter.notifyDataSetChanged()
spinnerTwo.visibility=View.VISIBLE
} 
}
}
//皮喷丝头2
spinnerTwo.visibility=View.GONE
spinnerTwo.onItemSelectedListener=对象:AdapterView.onItemSelectedListener{
覆盖未选择的乐趣(家长:AdapterView?){
}
覆盖已选择(父项:AdapterView?,视图:view?,位置:Int,id:Long){
citySelected=parent?.getItemAtPosition(position).toString()
如果(城市选择==”選擇城市") {
}否则{
userDetail.saveCity(citySelected)
完成()
}
}
}
下面是xml文件:

在这里输入代码

我找到了答案

android:spinnerMode=“对话框”


添加此代码将适用于API 21和23

两个微调器都有相同的问题?如果未选择第一个微调器选项,第二个微调器将不显示。在您提供的图像中,末尾没有微调器或箭头按钮可供其展开。您真的看到了微调器吗?