问题是空的`ListView`

时间:2013-10-01 05:59:35

标签: android android-listview

我遇到空ListView的问题,我只想在数据库中存在某些数据时才显示该消息....但我在此行收到错误

android:id="@*android:id/list"      和 android:id="@*android:id/empty"

错误是:

 Illegal resource reference: @*android resources are private and not always present

我的代码就是这样......

<ListView 
        android:id="@*android:id/list" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:listSelector="@*android:color/transparent" 
        android:drawSelectorOnTop="false" 
        android:cacheColorHint="#00000000" 
        android:divider="@drawable/line" 
        android:dividerHeight="3.0dip" />

    <TextView 
        android:id="@*android:id/empty" 
        android:textColor="#ff777777" 
        android:gravity="center"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:text="No data" />
</LinearLayout>

请帮助我...

5 个答案:

答案 0 :(得分:1)

通过此

更改代码
<ListView 
    android:id="@android:id/list" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:listSelector="@*android:color/transparent" 
    android:drawSelectorOnTop="false" 
    android:cacheColorHint="#00000000" 
    android:divider="@drawable/line" 
    android:dividerHeight="3.0dip" />

<TextView 
    android:id="@android:id/empty" 
    android:textColor="#ff777777" 
    android:gravity="center"
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:text="No data" />

还为数组列表使用以下代码作为空数组列表的消息

if(arrayList.isEmpty())
    {
        // do your message code here
    }

答案 1 :(得分:0)

删除星号(*)之前的ID,

这是您更新的布局

<ListView 
        android:id="@android:id/list" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:listSelector="@android:color/transparent" 
        android:drawSelectorOnTop="false" 
        android:cacheColorHint="#00000000" 
        android:divider="@drawable/line" 
        android:dividerHeight="3.0dip" />

    <TextView 
        android:id="@android:id/empty" 
        android:textColor="#ff777777" 
        android:gravity="center"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:text="No data" />
</LinearLayout>

答案 2 :(得分:0)

你到处都是

@*android

将其更改为

@android

答案 3 :(得分:0)

使用以下代码。

<LinearLayout>
      <ListView 
            android:id="@+id/list" 
            android:layout_width="fill_parent" 
            android:layout_height="fill_parent" 
            android:listSelector="@*android:color/transparent" 
            android:drawSelectorOnTop="false" 
            android:cacheColorHint="#00000000" 
            android:divider="@drawable/line" 
            android:dividerHeight="3.0dip" />

        <TextView 
            android:id="@+id/empty" 
            android:textColor="#ff777777" 
            android:gravity="center"
            android:layout_width="fill_parent" 
            android:layout_height="fill_parent" 
            android:text="No data" />
    </LinearLayout>

答案 4 :(得分:0)

从布局代码中删除“*”,然后尝试以下代码:

<ListView 
        android:id="@android:id/list" 
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:listSelector="@*android:color/transparent" 
        android:drawSelectorOnTop="false" 
        android:cacheColorHint="#00000000" 
        android:divider="@drawable/line" 
        android:dividerHeight="3.0dip" />

    <TextView 
        android:id="@android:id/empty" 
        android:textColor="#ff777777" 
        android:gravity="center"
        android:layout_width="fill_parent" 
        android:layout_height="fill_parent" 
        android:text="No data" />
</LinearLayout>