安卓记录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

猜你喜欢

转载自blog.csdn.net/weixin_45662399/article/details/127666995