Как использовать 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)
}
Другие вопросы по тегам