Android Spinner跳转到之前选定的位置

问题描述 投票:3回答:1

我正在使用AppCompatSpinner来显示状态列表。最初,我保存了第一个位置项目。然后,如果我单击微调器并尝试缓慢滚动,那么它将转到上一个位置。如果我快速滚动它就会起作用。在慢速滚动和长按旋转器时,列表项会产生问题。任何人都知道如何解决此问题?这是我的旋转器。

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

在主题中,我只是设置颜色。应用程序的最小版本是21.任何帮助将被赞赏。

android kotlin android-spinner android-xml android-appcompatspinner
1个回答
4
投票

最后它对我有用

问题是anroidx更新库

通过将版本appcompat从“alpha02 / alpha03”恢复为“alpha01”来解决

实现'androidx.appcompat:appcompat:1.1.0-alpha01'

或更好

实现'androidx.appcompat:appcompat:1.0.2' - >更稳定

© www.soinside.com 2019 - 2024. All rights reserved.