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. phalcon: 缓存片段,文件缓存,memcache缓存

    几种缓存,需要用到前端配置,加后端实例配合着用 片段缓存: public function indexAction() { //渲染页面 $this->view->setTemplateA ...

  2. Fragment 笔记

    1.getActivity()  为null问题 在Fragment基类里设置一个Activity mActivity的全局变量,在onAttach(Activity activity)里赋值,使用m ...

  3. 【CodeForces 651B】Beautiful Paintings 排序+贪心

    题目大意: 给定集合,对于任意一个的排列,记,求. 很明显每次搞出一个长度为的最长上升序列,然后把元素给删掉,答案增加. 直接暴力需要. 但是可以进行优化. 设有个,将个数从小到大排序,记为长度为的数 ...

  4. 20145218 《Java程序设计》第04次实验报告

    北京电子科技学院(BESTI)实验报告 课程:Java程序设计 班级:1452 指导教师:娄嘉鹏 实验日期:2016.04.22 实验名称:Android开发基础 一.实验内容 1.基于Android ...

  5. jmeter 建立一个JMS点对点测试计划

      确保所需的jar文件在JMeter的 自由 目录中. 如果他们不是,关闭JMeter, 重启JMeter复制jar文件. 看到 开始 获取详细信息.   测试的设置是1与5线程发送4 thread ...

  6. robotframework笔记16

    发布处理具有相同名称的关键字 使用机器人框架要么是关键词 图书馆 关键字 或 用户的关键字 . 前来自 标准 库 或 外部库 ,后者 中创建相同的文件在使用或进口 资源文件 . 许多关键字使用时,是很 ...

  7. [转载]使用SoapUI进行负载测试

    使用了SoapUI进行负载测试 http://www.cnblogs.com/zerotest/p/4668918.html 负载测试是相当独特的,我们已经创建了一个功能,使您能够快速创建性能测试,并 ...

  8. JavaScript实现五子棋的界面设计

    五子棋的界面设计包括绘制棋盘.绘制棋子及黑白棋轮流落子. 涉及的知识点主要有canvas绘制直线.设置画笔颜色:canvas画圆.填充渐变色 1.绘制棋盘 先设定棋盘的宽.高:然后利用for循环,根据 ...

  9. SAP资产变动明细

    *&---------------------------------------------------------------------* *& Report ZFIR027 * ...

  10. tar.xz如何解压:linux和windows下tar.xz解压命令介绍

    在linux下怎么解压和压缩tar.xz文件? (本文由www.169it.com搜集整理) 在linux下解压tar.xz文件步骤 1 2 # xz -d ***.tar.xz  //先解压xz # ...