博客
关于我
[android] 手机卫士黑名单功能(ListView结合SQLite增删改)
阅读量:656 次
发布时间:2019-03-15

本文共 1053 字,大约阅读时间需要 3 分钟。

在现有的Android活动中添加黑名单功能,需求包括顶部横条添加添加按钮和自定义对话框。添加按钮的点击将打开自定义对话框,用户输入电话号码和拦截模式后数据保存至数据库。以下为实现该功能的详细步骤:

  • 首先定义一个ViewHolder类来存储列表项中的每个控件。ViewHolder类包含三个成员:

    • phoneView:用于显示存入黑名单的电话号码
    • modeView:用于显示当前拦截模式(电话拦截、短信拦截或全部拦截)
    • iv_delete:用于删除当前记录的图片按钮
  • 创建一个ListAdapter类用于管理和显示列表项。ListAdapter类继承自BaseAdapter类,主要实现以下方法:

    • getCount():获取数据项的数量
    • getView():获取或创建用来显示每一项的布局
    • getItem():获取对应项的数据
    • getItemId():获取对应项的唯一标识符
  • 在Activity类中初始化UI元素:

    • 使用findViewById获取ListView控件
    • 初始化ListAdapter并将其设为ListView的适配器
    • 获取BlackNumberAdo对象用于数据库操作
    • 从数据库中获取所有黑名单记录并设置到ListView上
  • 实现添加功能的点击事件处理。例如,在添加按钮的点击事件中:

    • 创建一个自定义对话框,使用AlertDialog.Builder
    • 添加OK和取消按钮,并为OK按钮设置点击事件
    • 获取用户输入的电话号码和拦截模式,并调用BlackNumberAdo的add方法将数据保存到数据库
    • 创建新的信息Map并将其添加到infors集合的最前面,确保新添加的记录会立即显示出来
    • 通知适配器数据发生变化,确保UI界面能够及时反映新添加的记录
  • 在每个列表项中实现删除操作。例如,在删除按钮的点击事件中:

    • 创建一个确认删除的对话框,展示警告信息
    • 如果用户确认删除操作,调用BlackNumberAdo的delete方法从数据库中删除对应的记录
    • 调用ListAdapter的notifyDataSetChanged方法,确保UI界面更新显示新的数据
  • 提供多种拦截模式的选择。例如:

    • 当用户选择拦截电话和短信时,设置为全部拦截模式
    • 当用户仅选择拦截电话时,设置为电话拦截模式
    • 当用户仅选择拦截短信时,设置为短信拦截模式
    • 提供错误提示处理,确保用户输入合法电话号码并选择拦截模式
  • 通过以上实现,用户能够轻松添加和删除黑名单记录,根据选择的拦截模式拦截相应的通信类型,从而实现对重要号码的保护功能。

    转载地址:http://bbnmz.baihongyu.com/

    你可能感兴趣的文章
    Python中提示:UnicodeDecodeError: 'ascii' codec can't decode byte 0xe5 in position
    查看>>
    python中数据类型存储_浅谈Python中的数据类型
    查看>>
    python中文件最重要的功能是什么-学 Python 都用来干嘛的?
    查看>>
    python中文版语言_高盛最新调查:Python超过汉语成为未来最重要技能,你准备学哪种编程语言?...
    查看>>
    Python中文问题SyntaxError
    查看>>
    Python中方括号和括号括起来的列表有什么区别?
    查看>>
    python中时间处理_Python中处理时间的几种方法小结
    查看>>
    Python中枚举串口(包括虚拟端口)的跨平台方法是什么?
    查看>>
    python中根号下a怎么写_python中根号怎么表示
    查看>>
    Python中正则表达式的巧妙使用
    查看>>
    Python中浮点数的二进制表示(位不是十六进制)
    查看>>
    Python中特殊函数和表达式 filter,map,reduce,lambda
    查看>>
    python中用socket检测端口_Python 用socket模块实现检测端口和检测web服务
    查看>>
    python中用于列表操作的plus和append有什么区别?
    查看>>
    python中用递归求和
    查看>>
    python中的@staticmethod
    查看>>
    python中的array函数作用_NumPy 数组使用大全
    查看>>
    python中的isinstance判断多个对象类型
    查看>>
    python中的keys、values、items
    查看>>
    Python中的lambda和apply结合使用
    查看>>