4

我正在尝试使用 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),但它没有提到微调器。

提前致谢

4

2 回答 2

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"
    />

没关系 !!

于 2017-10-24T17:56:46.620 回答
0

在你的 AnkoComponent 中试试这个:

spinner {
    adapter = ArrayAdapter.createFromResource(
            ctx,
            R.array.your_string_array,
            android.R.layout.simple_spinner_dropdown_item)
}
于 2017-11-09T15:15:22.097 回答