Android微调器跳到以前选定的位置

Android微调器跳到以前选定的位置,android,kotlin,android-spinner,android-xml,Android,Kotlin,Android Spinner,Android Xml,我正在使用AppCompatSpinner显示状态列表。最初,我保存了第一个position项。然后,如果我单击微调器并尝试慢慢滚动,它将转到上一个位置。如果我滚动快一点,它就会工作。在慢速滚动和长按微调器时,列表项会产生问题。有人知道如何解决此问题吗?这是我的纺纱机 <androidx.appcompat.widget.AppCompatSpinner android:id="@+id/stateSpinner"

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

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

val适配器=阵列适配器(
上下文
R.layout.spinner\u项,状态列表
)
adapter.setDropDownViewResource(R.layout.spinner\u下拉项)
stateSpinner.onItemSelectedListener=对象:AdapterView.onItemSelectedListener{
已选择覆盖视图(adapterView:adapterView,view:view,i:Int,l:Long){
viewModelOffice.officeSelectedState.set(stateList.get(i))
}
覆盖未选择的乐趣(adapterView:adapterView){
}
}
stateSpinner.adapter=适配器
stateSpinner.setSelection(selectedPosition)
}

在主题中,我只是设置颜色。应用程序的最低版本是21。任何帮助都将不胜感激。

最后它对我起作用了

问题是anroidx更新库

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

实现“androidx.appcompat:appcompat:1.1.0-alpha01”

或者更好


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

显示您的适配器code@Bipin你能查一下吗now@shkschneider我有一个带有一长串物品的旋转器。我注意到,每当我尝试缓慢滚动微调器项目时,它会突然将我带回微调器选择的顶部。我只是使用一个标准的微调器和一个简单的阵列适配器。这不是一个真正的问题,但每当用户缓慢滚动时,选择就会一直重置到顶部,这有点让人恼火。您可以快速滚动列表,但如果您将手指放在屏幕上缓慢滚动,列表会向上滚动到列表顶部。@mike_x_u看到答案了吗below@HoaNguyen下面的答案解决了我的问题。因为我是
MinsdkVersion21
,所以我刚刚创建了一个新类
NoSupportSpinner extends Spinner
,以避免损坏的
AppCompatSpinner