Android Пользовательский вид текста Spinner не активируется - PullRequest
0 голосов
/ 25 апреля 2020

Почему использование пользовательского текстового представления препятствует тому, чтобы текст и элементы Spinner (но не стрелка) были кликабельными, но это не относится к Android -привилегированным макетам текста Spinner?

работает при использовании

    val arrayAdapter = ArrayAdapter(view!!.context, android.R.layout.simple_dropdown_item_1line, spinnerItems)
    arrayAdapter.setDropDownViewResource(android.R.layout.simple_dropdown_item_1line)

XML

<Spinner
        android:id="@+id/mySpinner"
        style="@style/Widget.AppCompat.Spinner.Underlined"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:spinnerMode="dialog"/>

Kotlin

    spinnerItems = arrayOf(
        "Cathedral of the Intercession of the Most Holy Theotokos on the Moat",
        "Ferapontov Monastery",
        "Historic Monuments of Novgorod and Surroundings",
        "Golden Mountains of Altai",
        "Historic Centre of Saint Petersburg and Related Groups of Monuments",
        "Bogoroditse-Smolensky Monastery",
        "White Monuments of Vladimir and Suzdal"
    )

    val arrayAdapter = ArrayAdapter(view!!.context, R.layout.spinner_item, spinnerItems)
    arrayAdapter.setDropDownViewResource(R.layout.spinner_item)

    mSpinner.adapter = arrayAdapter

spinner_item. xml

<?xml version="1.0" encoding="utf-8"?>
<TextView
        xmlns:android="http://schemas.android.com/apk/res/android"
        style="?android:attr/dropDownItemStyle"
        android:id="@+id/my_SpinnerItem"
        android:background="?android:attr/selectableItemBackground"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:clickable="true"
        android:focusable="true"
        android:paddingBottom="16dp"
        android:paddingTop="16dp"
        android:textColor="?android:attr/textColorPrimary" />

1 Ответ

1 голос
/ 25 апреля 2020

Удалите эти две строки:

android:clickable="true"
android:focusable="true"

Ваш код работает нормально.

...