Как использовать Anko Spinner?
Я пытаюсь добавить спиннер внутри оповещения, используя anko. Мой код до сих пор выглядит так:
alert(getString(R.string.alert)) {
positiveButton("Cool") { toast("Yess!!!") }
customView {
linearLayout {
textView("I'm a text")
padding = dip(16)
orientation = LinearLayout.VERTICAL
spinner(R.style.Widget_AppCompat_Spinner) {
id = R.id.spinner_todo_category
prompt = "Select a Category"
}
}
}
}.show()
но я получаю ошибки компиляции, потому что, очевидно, это не то, как вызвать спиннер. Я смотрю на документы ( Anko GitHub Wiki), но это ничего не говорит о спиннерах.
заранее спасибо
2 ответа
Одно из решений:
class AddActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val items = listOf(Friend("bla","bla",50),Friend("bla","bla",50));
val adapterFriends = ArrayAdapter(this,R.layout.mon_spinner,items)
verticalLayout {
val friends = spinner { adapter = adapterFriends }
val wine = editText()
button("Say Hello") {
onClick { toast("Hello, ${wine.text}!") }
}
}
}
}
с этим макетом (mon_spinner.xml):
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="10dp"
android:textSize="14sp"
android:textColor="@color/colorPrimary"
android:spinnerMode="dialog"
android:text="XXX"
/>
Все нормально!!
Попробуйте это в своем AnkoComponent:
spinner {
adapter = ArrayAdapter.createFromResource(
ctx,
R.array.your_string_array,
android.R.layout.simple_spinner_dropdown_item)
}