Android Spinner melompat ke posisi yang dipilih sebelumnya

Saya menggunakan AppCompatSpinner untuk menampilkan daftar negara bagian. Awalnya, saya menyimpan item posisi pertama. Lalu Setelahnya kalau saya klik spinnernya dan coba scroll pelan-pelan kali itu berpindah ke posisi sebelumnya. jika saya menggulir sedikit cepat itu berhasil. Selama pengguliran lambat dan tekan lama pada spinner, item daftar menimbulkan masalah. Adakah yang tahu cara mengatasi masalah ini? ini pemintalku.

   <androidx.appcompat.widget.AppCompatSpinner
                    android:id="@+id/stateSpinner"
                    style="@style/Widget.AppCompat.Spinner.Underlined"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:theme="@style/SpinnerStyle"/>


       val adapter = ArrayAdapter(
        context,
        R.layout.spinner_item, stateList
    )

    adapter.setDropDownViewResource(R.layout.spinner_dropdown_item)
    stateSpinner.onItemSelectedListener = object : AdapterView.OnItemSelectedListener {
        override fun onItemSelected(adapterView: AdapterView<*>, view: View, i: Int, l: Long) {
            viewModelOffice.officeSelectedState.set(stateList.get(i))

        }

        override fun onNothingSelected(adapterView: AdapterView<*>) {
        }
    }
    stateSpinner.adapter = adapter
    stateSpinner.setSelection(selectedPosition)
}

Dalam tema, saya hanya mengatur warna. Versi minimum aplikasi adalah 21. Bantuan apa pun akan dihargai.


person karthi keyan    schedule 05.03.2019    source sumber
comment
tunjukkan kode adaptor Anda   -  person Bipin Gawand    schedule 05.03.2019
comment
@Bipin bisakah kamu memeriksanya sekarang   -  person karthi keyan    schedule 05.03.2019
comment
Tidak jelas apa yang Anda tanyakan. Cobalah untuk menyusun ulang dan memberikan lebih banyak konteks dan kode.   -  person shkschneider    schedule 05.03.2019
comment
@shkschneider Saya memiliki spinner dengan daftar item yang panjang. Apa yang saya perhatikan adalah setiap kali saya mencoba menggulir item spinner secara perlahan, tiba-tiba saya dibawa kembali ke bagian atas pilihan spinner. Saya hanya menggunakan Spinner standar dengan ArrayAdapter sederhana. Ini sebenarnya bukan masalah, tapi agak menjengkelkan karena setiap kali pengguna menggulir dengan lambat, pilihannya akan disetel ulang ke atas. Anda dapat melemparkan daftarnya, tetapi jika Anda menggulir perlahan, sambil tetap meletakkan jari Anda di layar, daftar akan bergulir kembali ke atas.   -  person karthi keyan    schedule 06.03.2019
comment
Saya menghadapi masalah yang sama. Saya kira masalahnya ada pada androidx. Tapi masih belum menemukan jalannya...   -  person Hoa Nguyen    schedule 18.03.2019
comment
Adakah kemajuan dalam hal ini? saya memiliki masalah yang sama. Kode yang sama sebelum Android x tidak melakukan ini.   -  person mike_x_    schedule 19.03.2019
comment
@mike_x_ lihat jawabannya di bawah ini   -  person karthi keyan    schedule 21.03.2019
comment
@HoaNguyen jawaban di bawah ini memecahkan masalah saya   -  person karthi keyan    schedule 21.03.2019
comment
@karthikeyan terima kasih, ini jawaban saya di stackoverflow.com/questions/48328592/. Status pembaruan untuk topik Anda tidak ada   -  person Hoa Nguyen    schedule 22.03.2019


Jawaban (1)


Akhirnya itu berhasil untuk saya

Masalahnya adalah lib pembaruan Androidx

Selesaikan dengan mengembalikan versi appcompat dari "alpha02/alpha03" kembali ke "alpha01"

implementasi 'androidx.appcompat:appcompat:1.1.0-alpha01'

atau lebih baik

implementasi 'androidx.appcompat:appcompat:1.0.2' -> agar lebih stabil

person karthi keyan    schedule 20.03.2019
comment
Sama disini. Karena saya minSdkVersion 21 lagi pula, saya baru membuat kelas baru NoSupportSpinner extends Spinner, untuk menghindari AppCompatSpinner rusak - person rockgecko; 06.06.2019