package com.example.ay;

import java.util.ArrayList;
import java.util.List;

import com.example.adapter.LVadapter;
import com.example.vo.Flag;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.ListView;

public class MainActivity extends Activity {
    List<Flag> list = new ArrayList<Flag>();
    private LVadapter lv;
    private ListView listview;
    private List<Flag> li;

@Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

for (int i = 0; i < 13; i++) {
            list.add(new Flag(false, "单面镜" + i));
        }

init();
    }

private void init() {
        listview = (ListView) findViewById(R.id.listview);

lv = new LVadapter(list, MainActivity.this);
        listview.setAdapter(lv);

CheckBox checkall = (CheckBox) findViewById(R.id.checkAll);
        CheckBox fanCheck = (CheckBox) findViewById(R.id.fanCheck);
        Button button = (Button) findViewById(R.id.button);
        
        li = new ArrayList<Flag>();
        
        // 对删除按钮进行监听
        button.setOnClickListener(new OnClickListener() {

@Override
            public void onClick(View v) {
                /*for (Flag ff : list) {

if (ff.isFlag()) {
                        
                        li.add(ff);
                        
                    }
                
                }
                lv.notifyDataSetChanged();
                list.removeAll(li);*/
                Iterator it=list.Iterator();
                while(it.hasNext()){
                    Flag next=(Flag)it.next();
                    if(next.isFlag()){
                        it.remove();
                    }
                }
                
                lv.notifyDataSetChanged();
            }
        });
        checkall.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override
            public void onCheckedChanged(CompoundButton buttonView,
                    boolean isChecked) {
                for (Flag f : list) {
                    f.setFlag(isChecked);
                    lv.notifyDataSetChanged();
                }
            }
        });

fanCheck.setOnCheckedChangeListener(new OnCheckedChangeListener() {

@Override
            public void onCheckedChanged(CompoundButton buttonView,
                    boolean isChecked) {
                for (Flag f : list) {

if (f.isFlag()) {
                        f.setFlag(false);
                    } else {
                        f.setFlag(true);
                    }

}
                lv.notifyDataSetChanged();
            }
        });

}

}

checkbox的全选、反选、删除(MainActivity)的更多相关文章

  1. Jquery 1.8全选反选删除选中项实现

    JQuery1.6以后,Prop的出现,让1.6以下的全选反选效果全部失效了.以下是修正后的版本: 全选反选效果: $(".checkbox").click(function () ...

  2. php对表格进行批量操作如全选反选删除功能

    <!DOCTYPE> <html> <head> <meta http-equiv="content-type" content=&quo ...

  3. Vue-表单验证-全选-反选-删除-批量删除

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  4. checkbox、全选反选,获取值

    <input id="Chk_All" onclick="CheckAll()" type="checkbox" /> < ...

  5. jquery控制动态生成的gridview中多列checkbox的全选反选及自动判断是否全选状态

    动态生成的Gridview的前台html代码如下:     <table class="usertableborder" cellspacing="0" ...

  6. jquery、js操作checkbox全选反选

    全选反选checkbox在实际应用中比较常见,本文有个不错的示例,大家可以参考下 操作checkbox,全选反选//全选 function checkAll() { $('input[name=&qu ...

  7. jquery、js全选反选checkbox

    操作checkbox,全选反选 //全选 function checkAll() { $('input[name="TheID"]').attr("checked&quo ...

  8. Android开发 ---基本UI组件5:监听下拉选项,动态绑定下拉选项、全选/反选,取多选按钮的值,长按事件,长按删除,适配器的使用,提示查询数据,activity控制多按钮

    效果图: 效果描述: 1.当点击 1 按钮后,进入选择城市的页面,会监听到你选中的城市名称:动态为Spinner绑定数据 2.当点击 2 按钮后,进入自动查询数据页面,只要输入首字母,就会动态查找以该 ...

  9. jQuery实现全选/反选和批量删除

    <%@ page language="java" contentType="text/html; charset=utf-8"     pageEncod ...

  10. 【HTML5】页面点击按钮添加一行 删除一行 全选 反选 全不选

    页面点击按钮添加一行    删除一行   全选   反选  全不选 页面效果图如下 html页面代码 <!DOCTYPE html> <html> <head> & ...

随机推荐

  1. Java常见错误

    1.NullPointerExceptin 空指针异常 a.引用没有初始化就使用 b.引用置空了,仍然被使用 2.IndexOutofBoundsException 下标越界 a.数组下标小于0 或者 ...

  2. C++ Primer 第三章 标准库类型vector+迭代器iterator 运算

    1.vector: 标准库类型vector表示对象的集合,其中所有对象的类型都相同,集合中的每个对象都有一个与之对应的索引,索引用于访问对象.因为vector“容纳着”其他对象,所以它也常被称作容器( ...

  3. 年轻人你活着不是为了看K线!

    年轻人你活着不是为了看K线!   在网上看到一篇文章,写得还不错,转给大家看一下,内容如下: 这篇文章本来是该几年前写的,奉劝大家不要去玩股票.因为那个时候我的<中国崛起的经济学分析>这本 ...

  4. bootstrap轮播图--兼容IE7

    <!DOCTYPE html> <html> <head> <title>Bootstrap轮播</title> <meta char ...

  5. [Java] 获取本月周次和日期时间段信息

    package com.wdcloud.monitoring.common; import java.text.SimpleDateFormat; import java.util.ArrayList ...

  6. js-- 一些题目

    1. ~~3.14~~3.14=-((~3.14)+1)=-(-(3.14+1)+1)=-(-(3+1)+1)=-(-4+1) =-(-3)=3 按位非(NOT)(~)操作数的负值减1. 2. var ...

  7. HTML5自学笔记[ 6 ]data自定义数据

    在标签中添加data-name属性并赋值,在js脚本中用ele.dataset.name就可以获取该属性的值.如: <div id="box" data-age=" ...

  8. 6/3 Sprint2 看板和燃尽图

  9. Scrum项目3.0

    1. 确保product backlog井然有序.(参考示例图1) 2. Sprint周期,一个冲刺周期,长度定为两周,本学期还有三个冲刺周期. 3. 确定Sprint目标. 3.1 产品负责人概括产 ...

  10. 关于位域如何节省内存(C++)

    位域:  最先使用在c语言中后来C++继承了这一优良的特点. 举个栗子:     int  -->  4字节   2^32位 ,如果我们只需要其表达一个0~16的数字, 使用一个int就显得稍稍 ...