《Android UI基础教程》——2.7节完成TIMETRACKER
本节书摘来自异步社区《Android UI基础教程》一书中的第2章,第2.7节完成TIMETRACKER,作者 【美】Jason Ostrander,更多章节内容可以访问云栖社区“异步社区”公众号查看
2.7 完成TIMETRACKER
Android UI基础教程
基本上关于第一个TimeTracker应用程序所需的所有内容我们都讲过了。现在只需要一些处理按键的逻辑。
1.回到TimeTrackerActivity的onCreate方法,并加上以下代码:
`Button startButton = (Button) findViewById(R.id.start`_`stop);` `startButton.setOnClickListener(this);` `Button stopButton = (Button) findViewById(R.id.reset);` `stopButton.setOnClickListener(this);`
这会让TimeTrackerActivity类能够监听按钮事件。你将会在下一章中了解关于事件处理的知识。但仅就现在来说,只需要更新TimeTrackerActivity来实现OnClickListener接口。
2.重写onClick方法。每当一个按钮被按下都会调用这个方法。
`@Override` ` public void onClick(View v) {` ` TextView ssButton = (TextView) findViewById` ` → (R.id.start`_`stop);`
3.检查哪个按钮被按下了。如果用户按下了Start/Stop按钮,检查定时器的状态。如果它被停止了,你需要重新启动并将按钮文字改为“Stop”;反之,则需要停止计时器并把按钮文字改为“Start”。
` if (v.getId() == R.id.start`_`stop) {` ` if (isTimerStopped()) {` ` startTimer();` ` ssButton.setText(R.string.stop);` ` } else {` ` stopTimer();` ` ssButton.setText(R.string.start);` ` }`
4.如果用户按下了Reset按钮,重置定时器和TextView变量counter,并把Start/Stop按钮的文字设为“Start”:
` } else if (v.getId() == R.id.reset) {` ` resetTimer();` ` TextView counter = (TextView) findViewById` ` → (R.id.counter);` ` counter.setText(DateUtils.formatElapsedTime(0));` ` ssButton.setText(R.string.start);` ` }` ` }`
现在你可以运行应用了!它运行起来应该像图2.14一样。
你应该可以启动以及暂停计时器并在列表中记录之前的数值。在下一章节中,你将会更进一步—扩展应用使其可用于不同的屏幕尺寸、添加一些通知,以及使得应用在后台运行。
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
《趣学CCNA——路由与交换》——6.1节Cisco设备的管理与配置
本节书摘来自异步社区《趣学CCNA——路由与交换》一书中的第6章,第6.1节Cisco设备的管理与配置,作者 田果 , 彭定学,更多章节内容可以访问云栖社区“异步社区”公众号查看 6.2 Cisco设备的管理与配置趣学CCNA——路由与交换 6.2.1 通过Console接口连接网络设备当我们启动Cisco设备后,所面对的是一个完全没有配置过的设备。如果我们需要让它完成某些任务,就必须对它进行配置。在这里,我们介绍最为常用的一种配置方式,那就是通过连接图6-2所示的Console接口对设备进行管理。 当然,通过电脑连接Console接口,需要一根数据线,干这事儿的数据线业内俗称Console线。这类线一端是一个RS-232的DB-9接口(串口),用来连接咱们的电脑;另一端是RJ-45接头(水晶头),用来连接Cisco设备的Console接口,如图6-6所示。如果您没有Console线,劝您入职前上网淘一根。这种线用不着自己去做,便宜的Console线十来块钱人民币就可以入手,还免去了自己查询线序制作接头之苦,省力省心。 注释:笔记本刚开始飞入国内的寻常百姓家差不多是1998年前后的事儿...
- 下一篇
《iOS组件与框架——iOS SDK高级特性剖析》——第2章,第2.8节小结
本节书摘来自异步社区《iOS组件与框架——iOS SDK高级特性剖析》一书中的第2章,第2.8节小结,作者 【美】Kyle Richter , Joe Keeley,更多章节内容可以访问云栖社区“异步社区”公众号查看 2.8 小结iOS组件与框架——iOS SDK高级特性剖析本章介绍了Core Location和MapKit。首先,介绍了如何导入Core Location,如何检查服务是否可用,如何处理授权状态变更以及如何获取设备的当前位置。 接下来,本章阐述了如何使用MapKit:使用标准注释和自定义注释在地图上显示位置,这包括如何在说明中显示注释的详细信息以及如何在用户轻按标注或拖曳注释时做出响应;如何添加覆盖层以突出地图的内容。 然后,本章描述了如何使用地理编码器:根据街道地址获取经度和纬度;根据经度和纬度坐标获取地址信息。 接下来,本章介绍了地理围栏,并通过示例应用演示了如何对用户进出指定地图区域进行监视。 最后,本章演示了两种提供线路的方式:使用应用“地图”提供线路;使用线路请求获取信息,并直接在应用的用户界面中显示它们。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2全家桶,快速入门学习开发网站教程
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2配置默认Tomcat设置,开启更多高级功能