2013-11-24 3 views
1

У меня есть ListView и вы хотите создать TextView, который показывает «пустой список», когда он пуст. Это мой код фрагмента.Я пытаюсь сделать TextView для пустого списка, но я не могу получить ListView из активности

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:tools="http://schemas.android.com/tools" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:paddingBottom="@dimen/activity_vertical_margin" 
android:paddingLeft="@dimen/activity_horizontal_margin" 
android:paddingRight="@dimen/activity_horizontal_margin" 
android:paddingTop="@dimen/activity_vertical_margin" 
tools:context=".MainActivity$CurrentFragment" > 

<TextView 
    android:id="@+id/section_label" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" /> 

<ListView 
    android:id="@id/android:list" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
/> 
<TextView 
    android:id="@id/android:empty" 
    android:text="No current orders" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:gravity="center_vertical|center_horizontal" /> 

<Button 
    android:id="@+id/button1" 
    android:layout_weight="3" 
    android:layout_height="wrap_content" 
    android:layout_width="0dip" 
    android:text="@string/submit_button" 
    android:onClick="sendMessage" /> 
<Button 
    android:id="@+id/button2" 
    android:layout_weight="2" 
    android:layout_height="wrap_content" 
    android:layout_width="0dip" 
    android:text="@string/clear_button" 
    android:onClick="clearOrders" /> 

элемент управления ListView идентификатор @ ид/Android: список. Как я могу использовать это, используя R.id в своем классе активности?

+0

Надеюсь, что это помогает: http://stackoverflow.com/questions/6770267/how-to-use-r-to-select-a-listview-when-using -it-with-listactivity Вы уверены, что id объявлен как '@ id/android: list', а не как' @android: id/list'? –

+0

Если вы не расширяете свою активность из «ListActivity», ваш идентификатор должен быть «android: id =» @ + id/list »и для TextView' android: id = "@ + id/empty" ' –

ответ

2

Как сказал Абхишек, вы должны использовать @ + id/empty и @ + id/list, если ваша деятельность НЕ распространяется ListActivity.

Кроме того, после того, как вы создать экземпляр ListView, вы хотите назвать следующее, если вы не распространяющие ListActivity:

mMyListView = (ListView) findViewById(R.id.list); 
mMyListView.setEmptyView((View) findViewById(R.id.empty)); 

Если вы расширяете ListActivity, он должен работать, когда вы используете setContentView().

Соответствующие значения:

android.R.id.empty 
android.R.id.list 
+0

Я использовал ваше решение , Существует проблема. «Пустое» сообщение есть ВСЕ ВРЕМЯ. Даже когда список не пуст. (не используя активность списка). Мой списокView находится в фрагменте, и я не могу использовать ListActivity – Tina

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