2012-10-23 35 views
1

我無法強制AutoCompleteTextView下拉元素將文本換成三行或更多行。如何強制AutoCompleteTextView下拉元素將文本包裝成三行或更多行?

正如你可以看到:

drop-down before selection

drop-down after selection

在第一圖像(下拉元素)的文本消失,但我不會給它包裝成多行。

編輯:這是我的下拉項

<?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"/> 

我怎樣才能做到這一點XML代碼?

+0

具有u試圖改變的minlines屬性? – meh

+0

@ user1597833是!沒有辦法.. – wildnove

+0

設置android:layout_height =「wrap_content」 –

回答

0

解決! 我的佈局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; 
} 

[...] 

希望這會幫助別人

0

定義一個TextView作爲一個XML佈局,包含所有需要使它看起來正確的屬性(lines,ellipsize,maxLines,minLines等)。使用android:completionHintView屬性設置下拉列表以顯示您定義的文本視圖。

+0

我試過這個解決方案(你可以看到在我的代碼中),但沒有任何改變... – wildnove

相關問題