2010-02-22 2 views

ответ

5

Да, он по-прежнему заполняет пробел, но вместо отображения списка вы можете отобразить другое представление. Вот пример:

<FrameLayout 
    android:id="@+id/GLFrame" 
    android:layout_height="fill_parent" 
    android:layout_width="fill_parent" /> 
    <TextView 
     android:layout_height="fill_parent" 
     android:layout_width="fill_parent" 
     android:id="@android:id/empty" 
     android:gravity="center_vertical|center_horizontal|center" 
     android:text="@string/no_songs_found" 
     android:textColor="#FFF" 
     android:textSize="20sp" 
     android:textStyle="bold" /> 
    <ListView 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:id="@android:id/list" 
     android:cacheColorHint="#0000" /> 

Ключевым моментом здесь является "@android:id/empty" и "@android:id/list" идентификаторами. Они сообщают Android, что он должен отображать список или другое представление, если список пуст.

+2

Это работает, только если вы используете 'ListActivity'. – CommonsWare

+0

Это правда. Я забыл упомянуть об этом, спасибо! – CaseyB

+0

BTW, если мой основной макет представления содержит список, который является просто * частью * макета (т. Е. Есть другие виджеты выше и ниже), должен ли я все еще расширять ListView или я должен привязать его каким-либо другим способом? – Eno

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