全选,反选,删除
来源:互联网 发布:世界域名 编辑:程序博客网 时间:2024/04/29 14:42
创建一个类来封装对象
package com.example.bean;public class Item {private String name;private int image;private boolean flag;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getImage() {return image;}public void setImage(int image) {this.image = image;}public boolean isFlag() {return flag;}public void setFlag(boolean flag) {this.flag = flag;}public Item(String name, int image, boolean flag) {super();this.name = name;this.image = image;this.flag = flag;}public Item() {super();}@Overridepublic String toString() {return "Item [name=" + name + ", image=" + image + ", flag=" + flag+ "]";}}
MainActivity
package com.example.oneweek;import java.util.ArrayList;import java.util.Iterator;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.ListView;import android.widget.Toast;import com.example.bean.Item;public class MainActivity extends Activity implements OnClickListener {private ListView lv;private ArrayList<Item> listdata;private Mylvadapter adapter;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);Button bt_all = (Button) this.findViewById(R.id.all);Button bt_fanxuan = (Button) this.findViewById(R.id.fanxuan);Button bt_delete = (Button) this.findViewById(R.id.delete);bt_all.setOnClickListener(this);bt_delete.setOnClickListener(this);bt_fanxuan.setOnClickListener(this);lv = (ListView) this.findViewById(R.id.lv);// 定义数据inidata();initadapter();}private void inidata() {listdata = new ArrayList<Item>();listdata.add(new Item("马克思", R.drawable.a, false));listdata.add(new Item("恩格斯", R.drawable.a, false));listdata.add(new Item("斯大林", R.drawable.a, false));listdata.add(new Item("毛泽东", R.drawable.a, false));listdata.add(new Item("邓小平", R.drawable.a, false));listdata.add(new Item("江泽民", R.drawable.a, false));listdata.add(new Item("江泽民", R.drawable.a, false));listdata.add(new Item("江泽民", R.drawable.a, false));listdata.add(new Item("江泽民", R.drawable.a, false));listdata.add(new Item("江泽民", R.drawable.a, false));listdata.add(new Item("江泽民", R.drawable.a, false));listdata.add(new Item("江泽民", R.drawable.a, false));listdata.add(new Item("江泽民", R.drawable.a, false));listdata.add(new Item("江泽民", R.drawable.a, false));}private void initadapter() {adapter = new Mylvadapter(MainActivity.this, listdata);lv.setAdapter(adapter);}@Overridepublic void onClick(View v) {switch (v.getId()) {case R.id.all:// 全选listdata = adapter.listdata;for (int i = 0; i < listdata.size(); i++) {if (!listdata.get(i).isFlag()) {listdata.get(i).setFlag(true);adapter.notifyDataSetChanged();}}break;case R.id.fanxuan:// 反选listdata = adapter.listdata;for (int i = 0; i < listdata.size(); i++) {if (listdata.get(i).isFlag()) {listdata.get(i).setFlag(false);adapter.notifyDataSetChanged();}else{listdata.get(i).setFlag(true);adapter.notifyDataSetChanged();}}break;case R.id.delete:Toast.makeText(MainActivity.this, "图示", 0).show();// 点击删除listdata = adapter.listdata;Iterator<Item> iterator = listdata.iterator();while (iterator.hasNext()) {Item item = iterator.next();if (item.isFlag()) {iterator.remove();adapter.notifyDataSetChanged();}}break;default:break;}}// 点击事件}
适配器加载数据
package com.example.oneweek;import java.util.ArrayList;import android.content.Context;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.CheckBox;import android.widget.CompoundButton;import android.widget.CompoundButton.OnCheckedChangeListener;import android.widget.ImageView;import android.widget.TextView;import com.example.bean.Item;public class Mylvadapter extends BaseAdapter {Context context;ArrayList<Item> listdata;public Mylvadapter(Context context, ArrayList<Item> listdata) {super();this.context = context;this.listdata = listdata;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn listdata.size();}@Overridepublic Object getItem(int arg0) {// TODO Auto-generated method stubreturn null;}@Overridepublic long getItemId(int arg0) {// TODO Auto-generated method stubreturn 0;}@Overridepublic View getView(final int arg0, View arg1, ViewGroup arg2) {ViewHolder vh = null;if (arg1 == null) {vh = new ViewHolder();arg1 = View.inflate(context, R.layout.activity_item, null);vh.imageview = (ImageView) arg1.findViewById(R.id.image);vh.text = (TextView) arg1.findViewById(R.id.text);vh.cb = (CheckBox) arg1.findViewById(R.id.cb);arg1.setTag(vh);} else {vh = (ViewHolder) arg1.getTag();}vh.imageview.setImageResource(listdata.get(arg0).getImage());vh.text.setText(listdata.get(arg0).getName());vh.cb.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(CompoundButton buttonView,boolean isChecked) {if (isChecked) {listdata.get(arg0).setFlag(true);} else {listdata.get(arg0).setFlag(false);}}});vh.cb.setFocusable(false);vh.cb.setChecked(listdata.get(arg0).isFlag());return arg1;}public ArrayList<Item> listdata() {return listdata;}class ViewHolder {ImageView imageview;TextView text;CheckBox cb;}}
0 0
- 全选,反选,删除
- 全选.反选.删除
- 全选,反选,删除
- 全选/反选;删除
- AJAX 全选、反选删除
- Android反选,全选,删除
- 全选,反选,批量删除
- 简单全选,反选,删除
- 全选、反选、批量删除
- 批量删除 全选 反选
- 全选---反选---删除---HTML
- 添加删除 全选 反选 删除 排序
- 批量删除+单个删除+全选反选
- 全选、反选及确认删除
- 通过下标全选反选,删除
- 全选和反选和删除
- 全选反选,订单修改删除操作
- iOS 全选 反选 和删除
- python爬虫:案例二:携程网酒店价格信息
- Spark中文手册1-编程指南
- java读取xml文件的方法汇总
- Anroid-vlc开源播放器代码编译及简单调用手把手
- python 字符串内建函数
- 全选,反选,删除
- 如何通过cPanel附加域来设置多个网站
- 面试之路(27)-链表中倒数第K个结点
- Codeforces Round #299 (Div. 2) C. Tavas and Karafs
- 选择排序 堆排序
- VLC for android Windows平台上基于 Eclipse的开发
- Matconvnet学习笔记
- Android中跨进程通信方式之使用文件共享
- ubuntu 下firefox安装中文包