Макет не отображается должным образом при динамической загрузке списка в Android? - PullRequest
2 голосов
/ 22 апреля 2010

    <TextView
        android:id = "@+id/txtBabbleListTitle"
    android:layout_width = "wrap_content"
    android:layout_height = "wrap_content"
    android:textColor = "#000000"       
        android:text = "New Babble has been put up." >
    </TextView>

    <TextView
        android:id = "@+id/txtBabbleDateTime"
    android:layout_width = "wrap_content"
    android:layout_height = "wrap_content"
    android:layout_alignParentBottom = "true"
    android:textColor = "#000000"    
    android:text = "2010-04-10 09:47:42" >
    </TextView>

    <TextView
        android:id = "@+id/txtBabbleTotalReplies"
        android:layout_width = "wrap_content"
    android:layout_height = "wrap_content"
    android:layout_alignParentRight = "true"
    android:textColor = "#000000"       
        android:text = "(7)" >
   </TextView> 
</RelativeLayout>

Это макет, который я надуваю в адаптере. Все отображается, но только второе текстовое представление, которое должно отображаться внизу, отображается вверху. Может кто-нибудь подсказать мне проблему с этим?

Я вижу это на вкладке макета в Eclipse, после чего она отображается правильно. Проблема возникает только при динамическом извлечении текста.

1 Ответ

3 голосов
/ 22 апреля 2010

Вы не указываете, как вы «раздуваете в адаптере».

Если вы делаете это самостоятельно через LayoutInflater, обязательно используйте inflate(R.layout.row, parent, false), где R.layout.row - это ресурс макета, соответствующий XML, который вы указали выше, а parent - это ListView (что перешел в getView() или newView(), где вы делаете инфляцию). Если вы не используете эту конкретную версию метода inflate(), RelativeLayout не будет работать как контейнер строк.

...