XML-код счетчика:
<Spinner
android:id = "@+id/mySpinner"
https://stackoverflow.com/questions
style = "@style/Widget.AppCompat.DropDownItem.Spinner"
android:layout_width = "match_parent"
android:layout_height = "70dp" />`
.kotlin:
val myStrings = arrayOf("One", "Two" , "Three", "Four")
mySpinner.adapter = ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, myStrings)
mySpinner.onItemSelectedListener = object :
AdapterView.OnItemSelectedListener {
override fun onNothingSelected(parent: AdapterView<*>?) {
TODO("not implemented")
//To change body of created functions use File | Settings | File Templates.
}
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
TODO("not implemented")
//To change body of created functions use File | Settings | File Templates.
}
}}
Как и опция «подсказка» в Edittext, мне нужен текст по умолчанию в Spinner.
Вы рассматривали возможность использования android:prompt?
По умолчанию нет способа отображать подсказку в счетчике. Для этого вам нужно вручную добавить один элемент в массив, как показано ниже.
val myStrings = arrayOf("Select","One", "Two" , "Three", "Four")
Сейчас, Определите пользовательский адаптер для счетчика и отключите первый элемент, как показано ниже.
@Override
public boolean isEnabled(int position) {
if (position == 0) {
// Disable the first item from Spinner
// First item will be use for hint
return false;
} else {
return true;
}
}
Вы можете изменить цвет, как показано ниже
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
View view = super.getDropDownView(position, convertView, parent);
TextView tv = (TextView) view;
if (position == 0) {
// Set the hint text color gray
tv.setTextColor(Color.GRAY);
} else {
tv.setTextColor(Color.BLACK);
}
return view;
}
Для получения дополнительной информации посетите: -
используется ниже код для установки значения подсказки элемента управления счетчиком.
class SpinerActivity :AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.spiner)
setSpinner()
}
private fun setSpinner() {
val mySpinner:Spinner=findViewById(R.id.mySpinner)
val myStrings = arrayOf("Select Item","One", "Two" , "Three", "Four")
var adapter = ArrayAdapter(this, android.R.layout.simple_spinner_dropdown_item, myStrings)
mySpinner.adapter=adapter
mySpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
override fun onNothingSelected(parent: AdapterView<*>?) {
}
override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
}
}
}
}
В
Spinnerнет возможности подсказки. Вы можете сделать свой первый элемент подсказкой, например «Выбрать» или как угодно. Другой вариант, который вам нужен для настройкиSpinner.