TextView не появляется после просмотра списка - PullRequest
0 голосов
/ 16 февраля 2012

Я хочу отобразить TextView после просмотра списка в моем XML. Я использую другой XML для заполнения элементов этого элитного представления.Я добавил еще одно текстовое представление после (под списком) представления списка, но я его не вижу ... Когда я попытался разместить представление списка в его собственном макете, у меня появился нулевой указатель ... есть идеи?

XML

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
  <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Large Text"
    android:textAppearance="?android:attr/textAppearanceLarge" />
<ListView
     android:id="@+id/listView1"
     android:layout_height="fill_parent"
     android:layout_width="fill_parent">

</ListView>
    <TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Large Text"
     />

Ответы [ 4 ]

2 голосов
/ 16 февраля 2012

Я думаю, что вы должны использовать RelativeLayout вместо LinearLayout с наличием listView над текстовым представлением с заполнением родительской высоты и текстовым представлением для выравнивания нижней части родительского элемента с wrap_content.

XML

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
  <TextView
    android:id="@+id/textView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Large Text"
    android:textAppearance="?android:attr/textAppearanceLarge" />
<ListView
     android:id="@+id/listView1"
     android:layout_above="@+id/textView2"
     android:layout_below="@+id/textView1"
     android:layout_height="fill_parent"
     android:layout_width="fill_parent">

</ListView>
    <TextView
    android:id="@+id/textView2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Large Text"
    android:layout_alignParentBottom="true"
     />

</RelativeLayout>
1 голос
/ 16 февраля 2012

В качестве альтернативы для решения RelativeLayout (предложенного Мохамедом):

....
<ListView
    android:id="@+id/listView1"
    android:layout_height="0dp"
    android:layout_width="fill_parent"
    android:layout_weight="1" />
....
1 голос
/ 16 февраля 2012

Потому что вы объявили высота и ширина с fill_parent .

Просто объявите android:width="fill_parent" и android:height="wrap_content".

Как только вы сделаете это изменение, ваш TextView будет там.

0 голосов
/ 16 февраля 2012

Использование относительного макета было бы лучше, как предложил Джитендра. Кроме того, я сам проверил макет, и второе поле TextView появилось, когда я присвоил вес ListView

...