android:动态添加和删除多个布局

注意一下哈~,这个是new多个布局,布局里面,包含多个控件,包含checkBox,TextView

如果想了解,单一控件,可以跳转到点击这里跳转

一开始,我是用eventSmallArrayList.remove(les);eventSmallArrayList.add(les);
先是遍历一下,逐个添加
然后删除的时候,再遍历一下,逐个删除

折腾了一个晚上,一直没能实现,后来试了一下removeAll,addAll…
真简单。。。折腾了一宿~,哭死

核心部分

List<EventSmall> les = JSON.parseArray(type_list, EventSmall.class);
            //事件大类按钮的点击事件
            cb_event_kind_name.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
                @Override
                public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                    if (isChecked) {
                        //添加所有
                         eventSmallArrayList.addAll(les);
                          //清空
                        anl_relatedtypelist_small.removeAllViews();
                        //显示
                        EventSmallList(eventSmallArrayList);
                    } else {
                        //删除指定
                        eventSmallArrayList.removeAll(les);
                        //清空
                        anl_relatedtypelist_small.removeAllViews();
                        //显示
                        EventSmallList(eventSmallArrayList);
                    }
                }
            });

两个方法我也粘贴一下吧,万一用的着呢

  /*
     * 遍历控件
     * */
    private EventSmall esl;

    private void EventSmallList(List<EventSmall> les) {
        for (EventSmall pp : les) {
            esl = new EventSmall();
            String type_id = pp.getEvent_type_id();
            String type_name = pp.getEvent_type_name();
            esl.setEvent_type_id(type_id);
            esl.setEvent_type_name(type_name);
            NewEventSmall(type_name, type_id);
        }
    }


    /*
     * 显示控件
     * */
    private void NewEventSmall(String type_name, String type_id) {
        //设置大小
        LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.MATCH_PARENT);
        LinearLayout project = (LinearLayout) LayoutInflater.from(context).inflate(R.layout.item_checkbox, null);
        project.setLayoutParams(lp);
        LinearLayout ll_checkbox = (LinearLayout) project.findViewById(R.id.ll_checkbox);
        CheckBox cb_event_kind_name = (CheckBox) ll_checkbox.findViewById(R.id.cb_event_kind_name);
        TextView tv_event_kind_id = (TextView) ll_checkbox.findViewById(R.id.tv_event_kind_id);
        cb_event_kind_name.setText(type_name);
        tv_event_kind_id.setText(type_id);
        anl_relatedtypelist_small.addView(project);
        //事件大类按钮的点击事件
        cb_event_kind_name.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked) {
                    Log.e("CheckBox:::", tv_event_kind_id.getText().toString() + "选中");

                } else {
                    Log.e("CheckBox:::", tv_event_kind_id.getText().toString() + "取消");
                }
            }
        });
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Wenlong Yang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值