zoukankan      html  css  js  c++  java
  • checkbox的全选、反选、删除(MainActivity)

    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();
                }
            });

        }

    }

  • 相关阅读:
    对象和接口简单比较
    DevExpress报表开发基本流程
    有关ExecuteNonQuery返回值的分析
    2012年度计划
    小测试:有关++i&&i++,你是不是看晕了
    “PE文件格式”1.9版 完整译文
    .NET中的入口及幕后英雄:MSCorEE.dll(转)
    软件构建过程中的隐喻
    转:地图导出格式,教你如何选择
    推荐几个网站
  • 原文地址:https://www.cnblogs.com/1995yu/p/5389887.html
Copyright © 2011-2022 走看看