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. Nginx安装(zhuan)

    http://www.nginx.cn/install ************************ nginx可以使用各平台的默认包来安装,本文是介绍使用源码编译安装,包括具体的编译参数信息. ...

  2. 论APP测试中黑盒测试方案的重要性?

    运筹帷幄之中,决胜千里之外.古人足不出户,通过正确的部署就能决定千里之外战争的胜利!而于测试人员而言,制定正确的测试方案,就是日后测试就是是否顺利的决定性因素. 在整个测试过程中,对测试人员.资源以及 ...

  3. as3中的多线程

    从fp11.4开始支持worker技术, 即as3中的线程概念, 到了fp11.5, flascc中开始支持pthread家族来创建线程. 总的来说, as3中有两种创建线程的方法: 1.直接在as3 ...

  4. css读书笔记2:css工作原理

    css就是一种先选择html元素,然后设定选中元素css属性的机制.css选择符合要应用的样式构成一条css规则. 为文档添加样式的3种方法: 1.行内样式,直接写在特定标签的style属性中:2.嵌 ...

  5. Date的那一大堆事儿--1

    String perfTimeStr = "";// 统一设置日历格式 Calendar calendar = Calendar.getInstance(); calendar.s ...

  6. XPath的语法

    XPath 是XML的查询语言,和SQL的角色很类似.以下面XML为例,介绍XPath 的语法. <?xml version="1.0" encoding="ISO ...

  7. HDUOJ----1234 开门人和关门人(浙江大学考研题)

    开门人和关门人 Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Total Sub ...

  8. 368. Largest Divisible Subset -- 找出一个数组使得数组内的数能够两两整除

    Given a set of distinct positive integers, find the largest subset such that every pair (Si, Sj) of ...

  9. IntelliJ IDEA 中properties中文显示问题

  10. js从千分位格式

    从千分位格式化谈JS性能优化 http://heeroluo.net/article/detail/115 方法六 // 方法六 function toThousands(num) { ).toStr ...