Android Spinner无法工作多行

时间:2016-04-26 17:38:58

标签: android spinner 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 /布局/ 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));

请帮帮我

2 个答案:

答案 0 :(得分:5)

覆盖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

答案 1 :(得分:0)

尝试一下

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