Android Spinner在调用setSelection()后未重新命名
我的应用程序中有一个微调器,它由数组填充,宽度为Android Spinner在调用setSelection()后未重新命名,android,android-spinner,Android,Android Spinner,我的应用程序中有一个微调器,它由数组填充,宽度为wrap\u content 这些要素包括: String[] items = { "Select...", "1", "2", "3" } UI还有一个清除按钮,可调用: spinner.setSelection(0, true); // Using false doesn't help. 启动应用程序时,当前选定的项目正确显示为S
wrap\u content
这些要素包括:
String[] items = {
"Select...",
"1",
"2",
"3"
}
UI还有一个清除按钮,可调用:
spinner.setSelection(0, true); // Using false doesn't help.
启动应用程序时,当前选定的项目正确显示为Select…
如果然后选择“2”项,微调器将正确显示2
但是,如果单击“清除”按钮,微调器仅显示截断的Sel
调用setSelection()
后,微调器似乎无法重新绘制自身。在本例中,这是一个问题,因为新选择的字符串比前一个字符串长-因此在UI上会被截断
为了解决这个问题,在setSelection()
之后,我尝试添加
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" />
请分享您的微调器布局。。我无法复制这张照片isse@Zain谢谢,我现在已经添加了它。请尝试将android:theme=“@android:style/theme.Holo.Light.darkaActionBar”
添加到微调器
,不完全确定这是否能解决问题。如果使用默认的ArrayAdapter
,请尝试使用自定义适配器;并使用自定义打开/关闭微调器项布局,而不是内置布局。
<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" />