android - 旋转器功能不适用于 Android 6.0.1

标签 android android-spinner android-6.0-marshmallow

我正在使用 Spinner 来显示一些值。奇怪的是

The dropdown is displaying correctly, but when I select any item from dropdown, is not displayed in the box.

奇怪的是,此功能适用于 6.0.1 之前的所有 Android 操作系统(即 6.0.0 及更早版本)。 我也尝试过 AppCompatSpinner,结果是一样的。

ma​​in.xml:

<Spinner
    android:id="@+id/spinner"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="0.3"
    android:entries="@array/values" />

主.java:

Spinner spinner = (Spinner) findViewById(R.id.spinner);
spinner.setSelection(5); // Not displaying 5th item, Yes! there are more than 5 items.
spinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
    @Override
    public void onItemSelected(AdapterView<?> parent, View view, int position, long id) {
        spinner.setSelection(position);
    }

    @Override
    public void onNothingSelected(AdapterView<?> parent) {
        spinner.setSelection(5);
    }
});

最佳答案

奇怪的是我在回答我自己的问题。但经过大量研究后,我终于找到了解决方案。

解决方案:

我之前写的代码没有错。 这只是 Android OS 6.0.1

中的内部填充问题

In the release of Android OS 6.0.1 they made some changes in inner padding of a Spinner.

看完这篇related question因此,我调整了我的 Spinner 宽度并使其在所有 Android 操作系统版本中都可见。

关于android - 旋转器功能不适用于 Android 6.0.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34314740/

相关文章:

android - ContextCompat.GetColor 不返回颜色

android - AutoCompleteTextview 颜色默认设置为白色

java - Spinner Android Studio 出现问题

android - 不使用 Marshmallow 调用 Spinner onItemSelected

android - 将自定义微调器库从 Java 转换为与 Kotlin 一起使用。监听器的问题

android - 内容 URI 与文件 URI : What to use in the future?

Android M - 相机权限被拒绝返回 PERMISSION_GRANTED

java - 启动 Activity 时,应用程序可能在其主线程上做了太多工作

android - 检测设备是否被拿着或放在 table 上

java - 低功耗蓝牙 Android Studio