Android Spinner无法工作多行

Ger*_*jcr 1 android multiline spinner

在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>
Run Code Online (Sandbox Code Playgroud)

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" />
Run Code Online (Sandbox Code Playgroud)

设置适配器

spinner.setAdapter(ArrayAdapter.createFromResource(this,
            R.array.items,
            R.layout.spinner_item));
Run Code Online (Sandbox Code Playgroud)

请帮我

USK*_*ity 6

覆盖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;
    }
Run Code Online (Sandbox Code Playgroud)

详情请访问

  • 你能详细说明为什么需要在post方法中调用`setSingleLine(false)`的原因? (2认同)