简体   繁体   中英

How to use anko spinner?

I'm trying to add a spinner inside an alert using anko. My code so far looks like this:

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()

but I get compilation errors because apparently that's not how to call a spinner. I've been looking at the docs ( Anko GitHub Wiki ) but it says nothing about spinners.

Thanks in advance

One solution :

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}!") }
            }
        }
    }
}

with this layout (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"
    />

It's all right !!

Try this in your AnkoComponent:

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM