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. Struts2配置文件

    Struts2配置文件 简介: 与Struts2相关的配置文件有好几个,常用的有 struts.properties , web.xml, struts.xml等.web.xml中配置Struts2的 ...

  2. Yum常用命令及Yum中文手册

    转自:http://blog.csdn.net/huangbiao86/article/details/6646471 Yum配置文件位于/etc/yum.conf和/etc/yum.repos.d/ ...

  3. Mvc4_@RenderBody()和@RenderSection()

    @RenderBody():呈现子页的主体内容 @RenderSection():呈现特别的节部分. HelperResult RenderSection(string name, bool requ ...

  4. 将自定义的 service provider 绑定到 IOC 容器

    首先要有一些类,可以自己自定义一些类放在app/目录下的自己新建的文件夹,在类里面实现代码逻辑 然后通过命令生成serviceprovider   (php artisan make:provider ...

  5. html5重定义标签

    1.details: 可以同details与figure一同使用,定义包含文本 <details> <dd>无限互联1</dd><dd>无限互联1< ...

  6. Django开发博客- 部署

    安装Git Git是一个被大量程序员使用的”版本控制系统”.此软件可以跟踪任何时间文件的改变,这样你以后可以随时召回某个特定版本. windows系统下面可以下载git-scm安装.除了第5步”Adj ...

  7. androidStudio中如何加载字体资源?

    在android中字体的格式总是不能尽善尽美的显示出来 ,  于是要求我们使用一些有美感的字体,加载的方式(就像HTML的字体一样),我们需要通过加载字体的方式来使用android中不曾提供的字体; ...

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

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

  9. Subsets [LeetCode]

    Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset must be ...

  10. Python环境的安装

    参考官方文档 http://www.runoob.com/python/python-install.html Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上). 您需要下载适用 ...