ExpandableListView 和CheckBox结合使用

本文介绍了如何在Android中结合ExpandableListView和CheckBox实现分组选择功能。在A页面展示医疗组,点击组名跳转至B页面进行分组选择。难点在于将A页面的已选组名在B页面中正确显示并允许用户重新选择。通过比较ID设置CheckBox选中状态,并添加监听处理用户选择变化。最终通过匿名内部类动态更新ID,确保监听有效,选中状态能正确返回A页面。
摘要由CSDN通过智能技术生成

先说说需求,这样便于理解代码:(以图来讲解说明)

  1. 这是A页面:可以看到一个医疗组:组名是从B 页面拿到的。想要更换组名,点击这个组,就跳转到B页面。

这里写图片描述

2.这是B页面:页面是分组选项,其中:A页面上次选的组名要在B页面展示出来,同时,用户也可以重新选择组名,再传递给A.

这里写图片描述

3.做的过程中碰到的难点就是:A页面选择的组名怎么在B页面中展示。

(1) 我刚开始的思路是:把A页面选择的组名的ID保留传递给B,然后和B中所有的组名ID比较,如果有找到,说明是选中状态,就把CheckBox 设置为true. 所以在BaseExpandableListAdapter 的继承类中,重写getGroupView的时候,有以下代码来比较ID.

        //初始化特定的checkbox状态:
        updateCheckBoxView(mGrouplist,cb_parent,mGroupId,groupPosition);
        notifyDataSetChanged();
private void updateCheckBoxView(ArrayList<DoctorGroupBean> mGrouplist, CheckBox cbParent, String mGroupId, int groupPosition) {

        if(mGrouplist!=null){
            String roomgroupid = mGrouplist.get(groupPosit
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值