androidx.spinner onItemSelectedListener не работает - PullRequest
0 голосов
/ 18 февраля 2020

Я пытаюсь использовать счетчик в макете. Я могу добавлять и выбирать элементы в счетчик, но не могу получить выбранный элемент. Это основное действие:


class pageNewPurchaseOrder : AppCompatActivity() {
    lateinit var spinnerVendorX: androidx.appcompat.widget.AppCompatSpinner
    var spinnerArray: java.util.ArrayList<CharSequence> = ArrayList<CharSequence>()
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_page_new_purchase_order)
        setSupportActionBar(toolbar)
        supportActionBar?.setDisplayShowTitleEnabled(false)
     spinnerVendorX = findViewById(R.id.spinnerVendorX)
      spinnerVendorX.adapter = ArrayAdapter(this@pageNewPurchaseOrder, android.R.layout.simple_spinner_item, spinnerArray)
        spinnerVendorX.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
            override fun onNothingSelected(parent: AdapterView<*>?) {

            }
            override fun onItemSelected(parent: AdapterView<*>?, view: View?, position: Int, id: Long) {
                Log.d("aaa", "This code is not running!")

            }

        }

    }
}

Это действие макета

<?xml version="1.0" encoding="utf-8"?>
<androidx.core.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="?attr/colorPrimary"
    android:fillViewport="true"
    android:focusable="true"
    android:focusableInTouchMode="true"
    app:layout_behavior="@string/appbar_scrolling_view_behavior"
    tools:context=".pageNewPurchaseOrder"
    tools:showIn="@layout/activity_page_new_purchase_order">

         <androidx.appcompat.widget.AppCompatSpinner
            android:padding="10dp"
            android:background="@drawable/bgselect"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            app:layout_constraintTop_toBottomOf="@+id/lbl2"
            android:id="@+id/spinnerVendorX" />
</androidx.core.widget.NestedScrollView>

Когда я выбираю элемент, я получаю результат в logcat: E/ViewRootImpl(31835): sendUserActionEvent() mView == null .I получить те же результаты, даже когда я использую <Spinner вместо <androidx.appcompat.widget.AppCompatSpinner

1 Ответ

1 голос
/ 19 февраля 2020

Пользователь должен добавить данные в ArrayList. Здесь вы инициализируете arrayList и устанавливаете его, но не добавляете данные в ArrayList. Пожалуйста, добавьте данные в ArrayList и попробуйте. Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...