如何使用anko微调器?

时间:2017-07-31 12:12:53

标签: android spinner kotlin anko

我尝试使用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 个答案:

答案 0 :(得分: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"
    />

没关系!

答案 1 :(得分:0)

在你的AnkoComponent中试试这个:

spinner {
    adapter = ArrayAdapter.createFromResource(
            ctx,
            R.array.your_string_array,
            android.R.layout.simple_spinner_dropdown_item)
}