我正在尝试为微调器添加类似提示的行为。
所需的结果应与EditText的提示功能相同-显示褪色的文本,但我现在需要在这里做的另一件事是,此文本未添加到填充微调器的实际列表中。
这里是我要实现的目标的图像-
这是到目前为止我尝试过的-
//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的提示功能相同-显示褪色的文本,但是我现在需要在这里做的另一件事是该文本...