2012-04-01 3 views
0

У меня есть следующий вид списка:Как сделать элементы списка оберткой?

<ListView 
    android:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:drawSelectorOnTop="false" /> 

Проблема здесь состоит в том, что если элемент списка содержит много текста, не все это показано. Есть ли способ сделать каждый элемент списка достаточно высоким, чтобы показать весь его контент?

+0

Как вы добавляете listem в список и xml, который используется для каждой строки – Ishu

+0

@DilSe Я добавляю его динамически в код Java с помощью 'listItems.add (item)' – user1301428

ответ

0

Самое легкое решение, которое я нашел, это создать XML-файл специально для строк списка. Таким образом, элемент списка автоматически настраивает его высоту, чтобы отобразить весь текст. Этот XML-файл очень прост:

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

Изменение android:layout_height к wrap_content не делает какой-либо другой, он работает в обоих направлениях.

Теперь я просто должен сказать адаптеру использовать этот файл для макета вместо стандартного.

2

вы должны создать строку xml и настроить высоту так, как вы хотите, зависеть от того, что у вас есть в каждой строке. следующим образом:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/Layout1" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
     > 

    <TextView 
     android:id="@+id/label" 
     android:layout_width="fill_parent" 
     android:layout_height="90dp" 
     android:text="TextView" 
     android:textSize="15dp" /> 


</LinearLayout> 
+0

Похоже, вы должны установить layout_height вашего LinearLayout на "wrap_content". –

+0

уже проверяет, не повлияет ли это на изменение в LinearLayout, но трюк при изменении андроида: layout_height TextView, также вы можете настроить textSize в зависимости от того, что вам нужно –

+0

Но у меня нет текстового элемента в моем макете, У меня есть только ListView ... – user1301428

0

Вы должны установить высоту элементов списка, а не ListView сам по себе

+0

Точно мой вопрос :) Как я могу это сделать? – user1301428

+0

В статье не говорится о BaseAdapter, я, вероятно, что-то пропустил здесь: D – user1301428

+0

@ user1301428, о, извините. Вот правильная ссылка) http://thinkandroid.wordpress.com/2010/01/13/custom-baseadapters/ –

0

Если вы используете ListView, чтобы показать элементы списка я предлагаю вам использовать CustomAdapter сделать так,

Вот пример LINK для примера примера для реализации

+0

Будет ли это решить мою проблему? Я спрашиваю вас, потому что я знаю только о различии в производительности между ними. – user1301428

Смежные вопросы