【问题标题】:I'm trying to make a TextView for empty listview but I am unable to get ListView from activity我正在尝试为空列表视图创建一个 TextView,但我无法从活动中获取 ListView
【发布时间】:2013-11-24 02:37:17
【问题描述】:

我有一个 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?

【问题讨论】:

  • 希望对您有所帮助:stackoverflow.com/questions/6770267/… 您确定将 id 声明为 @id/android:list 而不是 @android:id/list
  • 如果您没有从ListActivity 扩展您的活动,您的ID 应该是android:id="@+id/list" 和TextView android:id="@+id/empty"

标签: android xml listview android-listview textview


【解决方案1】:

正如 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

【讨论】:

  • 我使用了您的解决方案。这儿存在一个问题。 “空”消息一直存在。即使列表不为空。 (不使用列表活动)。我的 listView 在 Fragment 中,我无法使用 ListActivity
猜你喜欢
  • 1970-01-01
  • 2021-10-16
  • 2020-05-28
  • 2020-07-27
  • 1970-01-01
  • 2021-07-24
  • 2019-08-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多