1

我无法强制 AutoCompleteTextView 下拉元素将文本换成三行或更多行。

如你看到的:

选择前的下拉菜单

选择后下拉

第一个图像(下拉元素)中的文本消失了,但我不会将它换成更多行。

编辑:这是我的下拉项目的 xml 代码

<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@android:id/text1"
    style="?android:attr/dropDownItemStyle"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:singleLine="false"
    android:lines="4"
    android:minLines="4"
    android:textSize="10sp"/>

我怎样才能做到这一点?

4

2 回答 2

1

解决了!我的布局 dropdown_multiline_item.xml 代码变为:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <TextView
        android:id="@+id/textContainer"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:lines="3"
        android:gravity="center_vertical"
        android:padding="5dp"
        android:textColor="#000"
        android:textSize="10sp" />

</LinearLayout>

秘密在于两种方法(进入适配器):

[...]

@Override
public void bindView(View view, Context context, Cursor cursor) {
    final String text = convertToString(cursor);
    ((TextView) view.findViewById(R.id.textContainer)).setText(text);
}

@Override
public View newView(Context context, Cursor cursor, ViewGroup parent) {
    final LayoutInflater inflater = LayoutInflater.from(context);
    final View view = inflater.inflate(R.layout.dropdown_multiline_item, parent, false);
    return view;
}

[...]

希望这会对某人有所帮助

于 2012-11-06T15:15:55.247 回答
0

将 TextView 定义为 XML 布局,其中包含使其看起来正确所需的所有属性(线条、椭圆大小、maxLines、minLines 等)。使用android:completionHintView属性设置下拉菜单以显示您定义的文本视图。

于 2012-10-23T21:28:29.427 回答