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" />