Android Spinner跳至先前选择的位置

时间:2019-03-05 05:08:05

标签: android kotlin android-spinner android-xml android-appcompatspinner

我正在使用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)
}

在主题中,我只是设置colors.app的最低版本为21。将获得所有帮助。

1 个答案:

答案 0 :(得分:4)

最后它对我有用

问题是anroidx更新库

通过将appcompat版本从“ alpha02 / alpha03”还原回“ alpha01”来解决

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

或更佳

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