如何解决调用setSelection
我的应用程序中有一个 Spinner ,它是从数组填充的,其宽度为wrap_content
。
元素是:
String[] items = {
"Select...","1","2","3"
}
UI上还有一个 CLEAR 按钮,该按钮调用:
spinner.setSelection(0,true); // Using false doesn't help.
启动应用程序时,当前选择的项目正确显示为 选择... 。
如果我随后选择“ 2”项目,则微调器正确显示 2 。
但是,如果我单击清除按钮,则微调框仅显示被截断的 Sel 。
在调用setSelection()
之后,似乎Spinner无法重新绘制自己。在这种情况下,这是一个问题,因为新选择的字符串比前一个字符串长,因此在UI上会被截断。
要解决,在setSelection()
之后,我尝试添加
spinner.invalidate();
然后
spinner.post(() -> { // postDelayed() makes no difference either.
spinner.invalidate();
});
但不能解决问题。
有什么想法吗?
更新
这是我的微调器的布局:
<Spinner
android:id="@+id/spinnerDobDay"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/textView"
app:layout_constraintStart_toStartOf="parent"
android:hint="@string/select_day" />
<Spinner
android:id="@+id/spinnerDobMonth"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/textView"
app:layout_constraintStart_toEndOf="@id/spinnerDobDay"
android:hint="@string/select_month" />
<Spinner
android:id="@+id/spinnerDobYear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintTop_toBottomOf="@id/textView"
app:layout_constraintStart_toEndOf="@id/spinnerDobMonth"
android:hint="@string/select_year" />
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。