1

AutoCompleteTextViewドロップダウン要素にテキストを3行以上で折り返すように強制することはできません。

ご覧のように:

選択前のドロップダウン

選択後のドロップダウン

最初の画像(ドロップダウン要素)のテキストは消えますが、それ以上の行に折り返すことはしません。

編集済み:これはドロップダウンアイテムの私の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>

秘密は2つの方法(アダプターへの)にありました:

[...]

@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を、正しく表示するために必要なすべてのプロパティ(lines、ellipsize、maxLines、minLinesなど)を備えたXMLレイアウトとして定義します。android:completionHintView属性を使用して、定義したテキストビューを表示するようにドロップダウンを設定します。

于 2012-10-23T21:28:29.427 に答える