我使用扩展ListActivity在列表为空时显示空消息。 下面是我的xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<ListView android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0">
</ListView>
<TextView android:id="@android:id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="No Items! Please Add!"/>
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="Add Item" />
</LinearLayout>
我的问题是按钮只能在列表中有项目时出现,但在列表为空时不能出现。当列表为空时,按钮如何显示?
答案 0 :(得分:1)
首先检查getCount()
。如果getCount()
返回0,则应显示visibility
按钮,否则'invisible'
或'gone'
答案 1 :(得分:0)
只需使用您可以设置的android
引用ID中的tag
android:visible
buttons
xml
代码
button.setVisibility(View.Visible or View.inVisible) based on your requirement.
答案 2 :(得分:0)
您应该在listview的布局中创建页脚视图布局。
View footer = ((LayoutInflater) ActivityContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE)).inflate(R.layout.footer, null, false);
ListView.addFooterView(footer);
同时检查this link。
答案 3 :(得分:0)
您可以通过
检查ListView中是否没有项目listview.getAdapter().isEmpty
如果是,请将按钮的可见性设置为gone
。否则,visible
答案 4 :(得分:0)
好吧,我不是要添加页脚,而只是需要添加一个按钮。我改变xml如下,然后问题解决了。谢谢大家。^^
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ListView android:id="@+id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:layout_above="@+id/bAdd">
</ListView>
<TextView android:id="@android:id/empty"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/bAdd"
android:text="No Items! Please Add!"/>
<Button
android:id="@+id/bAdd"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:text="Add Item" />
</RelativeLayout>