向旋转器添加类似提示的行为

问题描述 投票:0回答:2

我正在尝试为微调器添加类似提示的行为。

所需的结果应与EditText的提示功能相同-显示褪色的文本,但我现在需要在这里做的另一件事是,此文本未添加到填充微调器的实际列表中。

这里是我要实现的目标的图像-

enter image description here

enter image description here

这是到目前为止我尝试过的-

//before onCreate, on activity top variables - 
private var didChangeCountryFromDefault = false

countriesSpinner.onItemSelectedListener = object : OnItemSelectedListener {
    override fun onItemSelected(parent: AdapterView<*>, view: View, pos: Int, id: Long) {
        if (!didChangeCountryFromDefault) {
            didChangeCountryFromDefault = true
            (parent.getChildAt(0) as TextView).setTextColor(Color.parseColor("#e4e4e4"))
            (parent.getChildAt(0) as TextView).textSize = 15f
            (parent.getChildAt(0) as TextView).text = "Select Country"
        }
    }
    override fun onNothingSelected(parent: AdapterView<*>?) {}
}

我面临的问题是,当活动加载完毕时,第一次调用`onItemSelected来从列表中选择第一个字符串,然后将其更改为“ Select Country”,它实际上可以按预期工作,但是现在的问题是,直到选择任何其他字符串(因为已经选择了第一个字符串),我才能再次从列表中重新选择第一个字符串。

如何启用重新选择所选列表项,而不再显示“选择国家/地区”?

我正在尝试为微调器添加类似提示的行为。所需的结果应该与EditText的提示功能相同-显示褪色的文本,但是我现在需要在这里做的另一件事是该文本...

android spinner listitem
2个回答
0
投票
在微调器项目数组列表中的[[0

0
投票
如果您希望提示项不在微调框下拉列表中显示,那么您可以使用此库,它将提供完全的自定义
© www.soinside.com 2019 - 2024. All rights reserved.