Android使用ListView批量删除item的方法
16lz
2021-01-26
本文实例讲述了Android使用ListView批量删除item的方法。分享给大家供大家参考,具体如下:
利用CheckBox选中一个或多个item,最后批量删除它们。
程序运行效果图如下:
下面开始上码:
(代码已更正,已解决滚动时紊乱的问题)
package com.test.adapter;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;import android.app.ListActivity;import android.content.Context;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.CheckBox;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;import com.test.adapter.ArrayAdapterActivity.ListVIewAdapter.ViewHolder;/** * ListView 批量删除Item * @author manymore13 * */public class ArrayAdapterActivity extends ListActivity { private ListVIewAdapter ladapter; private ListstrList = new ArrayList (); private List boolList = new ArrayList (); boolean visflag = false; ListView lv; static String str[] ={"1苹果","2香蕉","3桔子","4猕猴桃","5李子","6甘蔗","7荔枝","8桃子","9香瓜","10葡萄","11哈密瓜","12桂圆","13龙眼","14","15","16","17","18","19","20"}; CheckBox cb; { for(int i=0;i parent, View view, int position, long id) { if(visflag) { ViewHolder viewHolder = (ViewHolder) view.getTag(); viewHolder.cb.toggle(); if(viewHolder.cb.isChecked()) { boolList.set(position, true); }else{ boolList.set(position, false); } } } }); } class ListVIewAdapter extends BaseAdapter { Context c; LayoutInflater mInflater ; ListVIewAdapter(Context context) { c = context; mInflater = getLayoutInflater(); } @Override public int getCount() { return strList.size(); } @Override public Object getItem(int position) { return strList.get(position); } @Override public long getItemId(int position) { return position; } @Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder holder = null ; if(convertView == null) { holder = new ViewHolder(); convertView = mInflater.inflate(R.layout.list_item, null); holder.tv = (TextView)convertView.findViewById(R.id.textView); holder.cb = (CheckBox)convertView.findViewById(R.id.checkBox); convertView.setTag(holder); }else{ holder = (ViewHolder) convertView.getTag(); } holder.tv.setText(strList.get(position)); holder.cb.setChecked(boolList.get(position)); if(visflag) { holder.cb.setVisibility(View.VISIBLE); } else { holder.cb.setVisibility(View.INVISIBLE); } return convertView; } class ViewHolder { TextView tv; CheckBox cb; } } @Override public boolean onCreateOptionsMenu(Menu menu) { menu.add(0, 0, 0, "批量处理"); menu.add(0, 1, 0, "确定删除"); return super.onCreateOptionsMenu(menu); } @Override public boolean onOptionsItemSelected(MenuItem item) { switch(item.getItemId()) { case 0: // 批量处理 { if(visflag) { visflag = false; for(int i=0; i 0) { if(visflag) { for(int location=0; location 还有list_item.xml
<?xml version="1.0" encoding="utf-8"?>更多关于Android相关内容感兴趣的读者可查看本站专题:《Android编程之activity操作技巧总结》、《Android资源操作技巧汇总》、《Android文件操作技巧汇总》、《Android操作SQLite数据库技巧总结》、《Android操作json格式数据技巧总结》、《Android数据库操作技巧总结》、《Android编程开发之SD卡操作方法汇总》、《Android开发入门与进阶教程》、《Android视图View技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。
更多相关文章
- android 问题汇总系列之八
- Windows下修改android 模拟机 hosts文件
- 基于安卓5.0 material design仿ios界面简单计算器
- android studio git 上传代码,分支,tag,回退操作
- Android实现文字垂直滚动、纵向走马灯效果的实现方式汇总
- Android游戏引擎《Rokon》:常见问题汇总(2010.11.15更新)
- Android动画介绍汇总
- Android知识点汇总以及常见面试题
- Android实现步进式录像进度条
随机推荐