Android 多行微调器不工作

Android Spinner not work multiline

我在 android 中查看微调器时遇到问题。那是多行 Android 5.1.1 不显示..但如果多行显示在 android 以下 我使用的代码如下。

同样的代码来自另一个问题,但没有看到帮助我的答案

/res/values/arrays.xml:

<string-array name="items">
<item>Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt.</item>
<item>At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est.</item>

res/layout/spinner_item.xml:

<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="?android:attr/spinnerDropDownItemStyle"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:ellipsize="none"
    android:minHeight="?android:attr/listPreferredItemHeight"
    android:singleLine="false" />

设置适配器

spinner.setAdapter(ArrayAdapter.createFromResource(this,
            R.array.items,
            R.layout.spinner_item));

请帮帮我

覆盖 ArrayAdapter 中的 getDropDownView 方法,并将 setSingleLine(false) 放入视图的 post 方法中。因此,当视图完全创建时,它会将文本换行到适当的行。

@Override
    public View getDropDownView(final int position, View convertView, ViewGroup parent) {
        if (convertView == null) {
            convertView = new TextView(_context);
        }

        TextView item = (TextView) convertView;
        item.setText("asddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd");
        final TextView finalItem = item;
        item.post(new Runnable() {
            @Override
            public void run() {
                finalItem.setSingleLine(false);
            }
        });
        return item;
    }

For details visit

试试这个

<Spinner
    android:id="@+id/spinnerFrom"
    style="@style/Widget.AppCompat.Spinner.Underlined"
    android:layout_width="match_parent"
    android:layout_height="wrap_content" />