我正在尝试为空列表视图创建TextView,但我无法从活动中获取ListView

时间:2013-11-24 02:37:18

标签: android xml listview android-listview textview

我有一个ListView,并且希望创建一个TextView,当它为空时显示“空列表”。 这是我的片段代码。

<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 id是@ id / android:list。如何在我的活动类中使用R.id来使用它?

1 个答案:

答案 0 :(得分:2)

正如Abhishek所说,如果你的活动没有延伸ListActivity,你应该使用@ + id / empty和@ + id / list。

此外,在实例化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