• 安卓记录2


    连接命令 : nox_adb.exe connect 127.0.0.1:62001 

    (13条消息) Android View的onClick事件监听_木四小哥的博客-CSDN博客_android onclick view

    添加一个长按事件 实现列表的item长按删除

    1. 在mainactivity中的initView方法中声明一个方法,叫setLVLongClickListener(),在下面实现他

    2. 再写一个弹出删除对话框的方法,在下面实现showDeleteItemDialog

    3. dbmanager中定义deleteItemFromAccounttbById

    4. 回到showDeleteItemDialog方法中调用数据库中的方法,完成

    搜索界面

    分析流程:

    点击搜索小图标  -》弹出搜索界面  -》在输入框中输入想要搜索的备忘录内容 -》点击搜索 -》搜索完成。

    1. 新建搜索活动和布局SearchActivity和对应布局文件

    2. 在布局文件中使用onclick方法设置返回键和搜索键的点击事件,对应在SearchActivity中生成onclick方法。

    3. 回到活动类中完成对应方法,如果需要查找的控件超过两个,那就使用initxxx():初始化控件方法

    4. 要使用的数据源就是accountbean类,适配器也是之前写过的AccountAdapter类,不用再重新设置,初始化即可,然后完善对应的onclick方法。

    5. DBManager中写getAccountListByRemarkFromAccounttb(String beizhu)方法

    点击更多按钮显示对话框

    1. 绘制点击更多后弹出的对话框dialog_more.xml的布局

    2. 新建绘制布局对应的dialog对象:MoreDialog,class,此时对话框中按钮们对应的跳转活动还没写,因此对话框中的按钮的跳转事件可以先空着

     3. 到mainactivity中为“更多”按钮设置点击事件

    以下需要实现的四个按钮有:

     1. 关于

    2. 设置

    3. 账单历史记录

    4. 账单详情

    流程都是新建布局文件和活动,在更多对话框类MoreDialog中实现对应页面的跳转,在自己的活动中实现对应的功能

    1. 更多对话框中“关于”按钮的实现

    1. 绘制布局:activity_about.xml

    2. 到MoreDialog活动中给关于按钮注册点击事件,完成活动的跳转

    2. 完成账单历史记录页面的显示

    1. activity_history.xml绘制,需要加onclick属性的有:返回按钮和日历小图标,在活动中生成对应的onclick方法

    2. history活动中实现onclick方法,找到两个按钮,数据源是accountbean类型的列表,适配器使用写好的accountadapter适配器,设置适配器,进行点击历史记录后列表的显示

    3. history活动中获取到想要的年和月,写loadData方法加载对应的年月数据,loadData方法中调用数据库中的查询方法

    4. DBManager中新建getAccountListOneMonthFromAccounttb方法,获取指定年和月的所有列表数据

    2.1 账单历史记录页面中日历图标的点击

    1. 绘制点击日历图标后弹出的选择日期的对话框布局:dialog_calendar.xml

    2. 写选择日期后对应弹出的对话框的布局文件,即选择某年某月后弹出的GridView:item_dialogcal_gv.xml,年份选择的椭圆形控件:item_dialogcal_hsv

    3. 写对应的对话框实体:utils->CalenderDialog.java,需要找到的控件有:dialog_calendar.xml中的取消按钮,gridview,和线性布局:用来存储年月的选项的text view,为取消按钮设置监听器和onclick;

    向横向的滚动布局中添加view:addViewToLayout方法,需要获取所有年的选项的text view集合和所有年的int集合,因此我们需要去DBManager中写一个函数getYearListFromAccounttb,查询记账表中有几个年份信息

    4.  在数据库中获取到年份信息后在addViewToLayout方法中使用for循环添加进去,然后还要设置一下被选择到的testview的颜色,不被选是白色的,被选的是绿色的,因此写一个changeTvbg方法

    5. 为每一个控件设置监听,setHSVClickListener方法,实现显示年份的TextView的功能,如上图

    6. 去moreactivity中设置点击日历按钮后对应的显示对话框的方法 

    7. 由于点击年份后会继续跳出该年份对应月份的对话框,由GridView组成,如下图所示,因此需要一个initGridView方法,进行girdview的显示,而且需要写adapter

    8. 新建一个CalendarAdapter.java,完成传入年份,加载数据源,以及点击年份发生TextView颜色变化的功能,此时还需要再给每一个年份的TextView设置点击事件,即去到去setHSVClickListener方法中获取年份

    9.  去setHSVClickListener获取到选中的年份,然后传入适配器中即可

    接下来为每一个GridView添加点击事件

    1. 在oncreate方法中新建setGVListenser方法

    2. 需要用到接口回调知识

    Android接口回调机制精炼详解_Chin_style的博客-CSDN博客

     目的:实现dialog类和活动类之间的数据传递,我们的数据是从dialog类中获取到的,需要将它传递到activity中

    方法:借助接口传递

    1. 首先在dialog类中注册接口,并且声明该接口的引用和注册该接口的方法

    在下面使用该接口的引用调用接口中的方法

    2. 类中使用匿名内部类的方法实现该接口,实现接口中的方法,获得到了接口中传来的变量值

    3. 历史记录页面添加长按删除

     historyactivity中设立setLVClickListener方法,里面调用deleteItem方法,里面调用数据库方法

    4. 设置界面删除数据库所有记录

    SettingActivity
  • 相关阅读:
    毕业设计-基于机器视觉道路视频车道线检测
    文件(夹)批量重命名数字、字母、日期、中文数字大写小写
    Spring Authorization Server授权服务器入门
    使用 Qt for Android 获取并利用手机传感器数据(下篇)使用C++实现功能
    【Kubernetes 系列】ConfigMap 进阶 环境变量的配置及使用
    [CM311-1A]-安卓设备视频分辨率 DPI 以及刷新率问题
    金田金業: 特朗普共和党初选再传捷报,拜登压力突增
    2023/9/11 -- C++/QT
    Android etc1tool之png图片转换pkm 和 zipalign简介
    windows10上运行magic keyboard和magic mouse
  • 原文地址:https://blog.csdn.net/weixin_45662399/article/details/127666995