千家信息网

ListView可编辑选择与删除条目怎么实现

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,这篇文章主要讲解了"ListView可编辑选择与删除条目怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"ListView可编辑选择与删除条目怎么
千家信息网最后更新 2026年11月04日ListView可编辑选择与删除条目怎么实现

这篇文章主要讲解了"ListView可编辑选择与删除条目怎么实现",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"ListView可编辑选择与删除条目怎么实现"吧!

首先,我们来看一下效果演示图:

接下来,我们讲解一下控件功能及其使用:

1.功能

封装列表控件,使其条目具有可编辑选择、删除等功能。

2.Android Studio使用方法
dependencies{      compile 'com.wkp:EditListView:1.0.2'      //Android Studio3.0+可用以下方式      //implementation 'com.wkp:EditListView:1.0.2'}
3.使用详解

属性讲解

                                                                

布局示例

                                                                                                    

代码示例

/** * kotlin用法 */ @RequiresApi(Build.VERSION_CODES.KITKAT)class MainActivity : AppCompatActivity() {    privateval data = arrayListOf("托儿索", "儿童劫", "小学僧", "橡皮妮", "喜之螂", "提款姬", "鱼尾雯", "鸡毛信", "娃娃鱼", "过家嘉", "尿不狮", "沙琪马", "阿童木", "大嘴猴", "香港皎")    private var mListView: EditListView? = null    override fun onCreate(savedInstanceState: Bundle?) {        super.onCreate(savedInstanceState)        setContentView(R.layout.activity_main)        mListView = findViewById(R.id.lv)        val adapter = ArrayAdapter(this, android.R.layout.simple_list_item_1, android.R.id.text1, data)        //设置适配器        mListView!!.adapter = adapter        //设置是否测量高度(解决ScrollView冲突)//        mListView!!.setMeasureHeight(true)        //长按监听        mListView!!.setOnItemLongClickListener({ parent, view, position, id ->            //开启编辑状态            mListView!!.isEditState = true            //设置长按条目选中状态            mListView!!.setItemChecked(position, true)            //返回false会导致OnItemClickListener调用,使以上的选中状态消失            true        })        //设置所有条目选中/未选中监听(每次条目状态改变都会回调)        mListView!!.setOnAllItemCheckedListener { checked -> Log.d("MainActivity", "checked:" + checked) }    }    //删除按钮    fun delete(view: View) {        //删除所有已选中条目(adapter的源数据为数组时不支持转换)        mListView!!.deleteAllCheckedItem(data)    }//  编辑按钮    fun edit(view: View) {//      开启编辑状态        mListView!!.isEditState = true    }//  退出编辑按钮    fun exitEdit(view: View) {//       关闭编辑状态        mListView!!.isEditState = false    }//  全选按钮    fun selectAll(view: View) {//       全选        mListView!!.setAllItemChecked()        //是否全选        Log.d("MainActivity","isAllItemChecked:" + mListView!!.isAllItemChecked)    }//  全不选按钮    fun selectNone(view: View) {//      全不选        mListView!!.setAllItemUnchecked()        //是否全不选        Log.d("MainActivity","isAllItemUnchecked:" + mListView!!.isAllItemUnchecked)    }}/** * Created by user on 2017/11/6. * java用法 */@RequiresApi(api = Build.VERSION_CODES.KITKAT)public class TestActivity extends AppCompatActivity {    private String[] mStrings = {"托儿索", "儿童劫", "小学僧", "橡皮妮", "喜之螂", "提款姬", "鱼尾雯", "鸡毛信", "娃娃鱼", "过家嘉", "尿不狮",            "沙琪马", "阿童木", "大嘴猴", "香港皎","脑残片","卖卖卖","333","干干干"};    private List data = new ArrayList<>();    private EditListView mListView;    {        data.addAll(Arrays.asList(mStrings));    }    @Override    protected void onCreate(@Nullable Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mListView = findViewById(R.id.lv);        //设置编辑/退出编辑动画时长        mListView.setAnimDuration(400);        //设置适配器        mListView.setAdapter(new ArrayAdapter(this,R.layout.item_lv,R.id.item_tv,data));        //条目长按监听        mListView.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {            @Override            public boolean onItemLongClick(AdapterView parent, View view, int position, long id) {                //开启编辑状态                mListView.setEditState(true);                //设置长按条目选中状态                mListView.setItemChecked(position,true);                //返回false会导致OnItemClickListener调用,使以上的选中状态消失                return true;            }        });        //设置所有条目选中/未选中监听(每次条目状态改变都会回调)        mListView.setOnAllItemCheckedListener(new EditListView.OnAllItemCheckedListener() {            @Override            public void onAllItemChecked(boolean checked) {                Log.d("TestActivity", "checked:" + checked);            }        });    }    //删除按钮    public void delete(View view) {        //删除所有已选中条目(adapter的源数据为数组时不支持转换)        mListView.deleteAllCheckedItem(data);    }    //编辑按钮    public void edit(View view) {        //开启编辑状态        mListView.setEditState(true);    }    //退出编辑按钮    public void exitEdit(View view) {        //关闭编辑状态        mListView.setEditState(false);    }    //全选按钮    public void selectAll(View view) {        //全选        mListView.setAllItemChecked();        //是否全选        Log.d("MainActivity", "isAllItemChecked:" + mListView.isAllItemChecked());    }    //全不选按钮    public void selectNone(View view) {        //全不选        mListView.setAllItemUnchecked();        //是否全不选        Log.d("MainActivity", "isAllItemUnchecked:" + mListView.isAllItemUnchecked());    }}

感谢各位的阅读,以上就是"ListView可编辑选择与删除条目怎么实现"的内容了,经过本文的学习后,相信大家对ListView可编辑选择与删除条目怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

条目 状态 按钮 选择 监听 功能 学习 儿童 内容 娃娃 娃娃鱼 小学 控件 数据 数组 橡皮 示例 适配器 鱼尾 鸡毛 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 云南咖啡 互联网科技有限公司 新华互联网科技学校 科技互联网龙头 互联网科技卖菜 广州互联网络科技有限公司 撒么互联网科技公司 成都狮子座互联网科技 互联网金融监管科技 杭州壁岐互联网科技有限公司 链环科技传统企业怎么转型互联网 民营互联网公司国防科技 朱啸虎曾投资哪些互联网科技企业 锡山区互联网智能科技产品供应 本届互联网大会上的黑科技 西安有哪些互联网高科技企业 长沙渺峰互联网科技有限公司 互联网领先科技活动 北京品多多互联网科技有限公司 上海旺乐尼互联网科技有限公司 江苏根荣互联网科技 互联网科技官网 互联网科技保险 互联网未来科技 广州互联网络科技有限公司 滨湖区互联网智能科技产品供应 中国互联网有什么科技含量 花神(南京)互联网科技有限公司 996高科技互联网公司 互联网科技创新方面的资料
0