前段时间写过一篇文章:Android实战简易教程-第四十七枪(ListView多选-实现点餐系统)有的同学留言建议,可不可以动态控制checkbox的显示和全选反选功能,我研究了一下,发现实现也比较容易,特写下此篇文章。学习就是要有发散思维,要举一反三,大家也可以根据我的实例进行改编,添加和删除一些功能,这样可以提高你对知识的认知!下面我们看一下代码:
1.main.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
>
<ListView
android:id="@+id/drink_list"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/ll_btns"
>
</ListView>
<LinearLayout
android:id="@+id/ll_btns"
android:layout_width="match_parent"
android:layout_height="58dp"
android:layout_alignParentBottom="true"
android:orientation="horizontal" >
<Button
android:id="@+id/btn_commit"
android:layout_width="wrap_content"
android:layout_height="58dp"
android:text="确定" />
<Button
android:id="@+id/btn_select"
android:layout_width="wrap_content"
android:layout_height="58dp"
android:text="点餐" />
<Button
android:id="@+id/btn_select_all"
android:layout_width="wrap_content"
android:layout_height="58dp"
android:text="全选" />
<Button
android:id="@+id/btn_select_cancel"
android:layout_width="wrap_content"
android:layout_height="58dp"
android:text="反选" />
</LinearLayout>
</RelativeLayout>
2.item.xml:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffffff"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/check_box"
android:layout_width="wrap_content"
andr