【Android每日一讲】2012.10.30 自制计算器 - 多按钮的整合应用

【Android每日一讲】2012.11.27 向左或向右 - RadioGroup组与onCheckedChanged事件 1. 范例说明 今天介绍RadioGroup的组事件。RadioGroup可将各自不同的RadioButton设限于同一个Radio按钮组,同属于一个RadioGroup组里的按钮,只能做出单一选择(单选题)。该范例首先设计一个TextView Widget,以及一个RadioGroup,并于该RadioGroup内放置两个RadioButton,默认为都不选择,在程序运行阶段,利用 阅读详情

1. 范例说明

  • 在之前我们学会了Android按钮事件的设计,接下来的范例将利用简单的按钮组合制作一个简单的计算器。
  • 这个范例中,除了要活用按钮的组合外,也示范如何利用不同的按钮事件处理与TextView之间的文字变化,尤其是事件彼此不同,连带处理的结果也不同。

2. 运行结果


3. 编写代码

@Override
	public void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);

		mTextView2 = (TextView) findViewById(R.id.mTextView2);
		mTextView4 = (TextView) findViewById(R.id.mTextView4);

		mButton2 = (Button) findViewById(R.id.mButton2);
		mButton3 = (Button) findViewById(R.id.mButton3);
		mButton4 = (Button) findViewById(R.id.mButton4);
		mButton5 = (Button) findViewById(R.id.mButton5);

		mEditText1 = (EditText) findViewById(R.id.mText1);
		mEditText2 = (EditText) findViewById(R.id.mText2);

		
		mButton2.setOnClickListener(new Button.OnClickListener() {
			@Override
			public void onClick(View v) {
				mTextView2.setText("+");
				String strRet = Integer.toString(Integer.parseInt(mEditText1
						.getText().toString())
						+ Integer.parseInt(mEditText2.getText().toString()));
				mTextView4.setText(strRet);

			}
		});
	
		mButton3.setOnClickListener(new Button.OnClickListener() {
			@Override
			public void onClick(View v) {
				mTextView2.setText("-");
				String strRet = Integer.toString(Integer.parseInt(mEditText1
						.getText().toString())
						- Integer.parseInt(mEditText2.getText().toString()));
				mTextView4.setText(strRet);

			}
		});
		
		mButton4.setOnClickListener(new Button.OnClickListener() {
			@Override
			public void onClick(View v) {
				mTextView2.setText("*");
				String strRet = Integer.toString(Integer.parseInt(mEditText1
						.getText().toString())
						* Integer.parseInt(mEditText2.getText().toString()));
				mTextView4.setText(strRet);

			}
		});

		mButton5.setOnClickListener(new Button.OnClickListener() {
			@Override
			public void onClick(View v) {
				mTextView2.setText("/");
				String strRet = Integer.toString(Integer.parseInt(mEditText1
						.getText().toString())
						/ Integer.parseInt(mEditText2.getText().toString()));
				mTextView4.setText(strRet);
			}
		});

	}

4. 扩展学习与作业

作业:使用一个OnClickListener如何实现本Demo中的计算器

视频讲解:http://www.eyeandroid.com/thread-9789-1-1.html



政府科技管理者如何提升科技成果转化项目进场交易的备案效率?.docx 政府科技管理者如何提升科技成果转化项目进场交易的备案效率? 立即下载

相关推荐

别再只测电压了!用STM32G474的ADC玩点花的:过采样提升精度与多通道扫描实战

本文深入探讨了STM32G474系列单片机的ADC高级应用,包括硬件过采样技术实现16位精度和多通道扫描结合DMA的自动数据采集方案。通过详细的配置步骤和实战案例,帮助开发者突破传统电压测量局限,提升信号采集精度和系统效率,适用于工业监控、医疗设备等高精度应用场景。

weixin_42647395的博客 240

前端工程师的 Passion 是什么:从情绪到工程校准器

前端开发作为高度动态的技术领域,其核心挑战不在于掌握某个框架,而在于如何在技术熵增、标准迭代与业务多变中保持判断力与定力。Passion 在此并非主观热情,而是驱动深度理解浏览器机制、主动识别兼容性毛边、量化技术选型风险的工程化思维;它体现为对 DOM 渲染管线的直觉、对 CSS BFC 或 IntersectionObserver 差异的实证积累,以及用 PDC(热情衰减系数)替代盲目跟风的理性决策逻辑。这种可落地、可测量、可传承的 Passion,正成为区分 F2Eer(Frontend Enginee

dejz8829的专栏 458

从电商平台到微信私域:构建合规跳转链路的技术实现

在互联网营销与用户增长领域,链接跳转是连接不同平台、引导用户流量的基础技术。其核心原理是通过服务器端路由与参数解析,实现用户请求的接收、处理与重定向。这项技术的价值在于能够突破平台间的生态壁垒,实现流量的合规、可控迁移,尤其适用于跨平台营销、私域沉淀等场景。在实际应用中,常需处理微信环境限制、参数传递与动态内容生成等挑战。本文聚焦于电商平台(如淘宝)到微信生态的跳转需求,详细阐述了如何利用Node.js、Express框架及二维码生成技术,构建一个包含环境检测、参数传递与动态落地页的完整跳转系统,以解决微信

weixin_33889665的博客 324

【Android您问我讲】带左右滑动的选项卡 - ViewPager与Tabhost的结合使用

1. 范例说明 ViewPager实现滑动切换的效果,但是切换的几个页面只是调用了不同的layout,实际上还是在一个Activity里面,对功能编写就不方便了。所以,采用TabHost和ViewPager结合,使用TabHost切换Activity,使用ViewPager切换界面,从而完善切换效果原理就是把tabhost里原有的的tabcontent隐藏掉,加一个viewpager

1864

【WB32库开发】第9章 TIM1高级定时器——输出多路PWM

PWM(Pulse Width Modulation)意为脉冲宽度调制,简称脉宽调制 。在工控行业,PWM信号可以用来调节电机转速、调节变频器以及BLDC电机驱动等;在LED照明行业,可以通过PWM来控制LED的亮暗变化;还可以通过PWM信号来控制无源蜂鸣器发出简单的声音等。 WB32也可输出PWM,需配置WB32上的定时器。 在WB32中有4个定时器,其中TIM1为高级定时器,TIMx(2-4)为通用定时器,这四个定时器均挂载在APB1总线上,每个定时器都可以输出4路PWM。 本章需要使用固件库TIM例程

北海村夫的博客 4637

VHDL实战:基于EDA的数字频率计(FREQ)设计与优化

本文详细介绍了使用VHDL语言和EDA工具设计并优化数字频率计(FREQ)的全过程。从核心原理与模块划分入手,深入讲解了时钟分频、测频控制、计数锁存及显示驱动等关键模块的VHDL实现,并提供了从代码编写、功能仿真到综合布局布线的完整EDA实战指南。文章还探讨了测量精度优化、资源权衡及跨时钟域处理等进阶话题,是掌握FPGA数字系统设计的经典案例。

milk8的博客 584

《Android 每日一讲》之 2012.10.26 置换文字颜色的机关 -- Button与TextView的交互

1. 范例说明 在学会了一系列与TextView文字相关的范例与简单的按钮事件后,现在让我们把这两个对象做一个简单的整合。本范例将通过按钮的setOnClickListener与onClick方法的方式,在单击按钮后,触发setTextColor方法来变换文字颜色,但仅是变换颜色显得太无趣,所以在此创建一个自定义的颜色数组(mColors),单击按钮时,会根据数组元素的索引值的递增变

1600

Proteus快速入门(最详细教程)

Proteus 是一款用于嵌入式单片机仿真的软件,用于在打PCB板之前对软件程序和硬件电路的正确性进行仿真验证。1.所以Proteus一般会和Keil软件进行联合仿真,在Proteus中绘制系统的电路图,在Keil软件中编写对应的程序后生成Hex文件。2.Proteus的仿真结果仅供参考,只能在一定程度上验证系统的可能性。实际实物系统还需要进行进一步的调试。以上即为本次分享的Proteus入门教程的全部内容,希望可以能够帮助到各位道友。

ediykk的博客 15万+

《Android 每日一讲》之 2012.10.29 控制不同的文字字体 -- Typeface对象使用

1.范例说明 除了文字颜色以外,与文字对象息息相关的文字大小(size)及字体(font)是整个TextView文字实例的最后一站,这里将延续前一个范例的做法,通过按钮对象的Button.onClickListener来处理改变TextView的字体大小与字体。本范例将设计两个按钮:第一个控制TextView的字体,第二个控制字体大小,这里会特别解说如果是通过外部资源assets,引

1365

YOLOv11的网络结构概览(Backbone-Neck-Head):介绍骨干网络(Backbone)、特征融合层(Neck)和检测头(Head)的作用

YOLOv11架构解析:从特征提取到目标检测 YOLOv11继承了YOLO系列的经典三组件架构,包含Backbone、Neck和Head三部分。Backbone基于改进的CSPDarknet,通过Conv和C3模块进行多尺度特征提取;Neck采用FPN+PAN结构融合不同层次特征;Head负责检测任务输出。网络整体设计注重高效性和多尺度特征融合,采用C3模块优化信息流和梯度流,配合SPPCSPC增强特征表达能力。该架构在保持实时检测速度的同时,提升了目标检测精度,体现了YOLO系列"一次看全图&q

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1万+

maya导入导出bvh 自动 脚本

maya打开bvh脚本

jacke121的专栏 1551

【Android每日一讲】2012.11.12 设计具有背景图的按钮 - ImageButton的焦点及事件处理

1. 范例说明 ImageButton是有背景图片的按钮,要设置ImageButton背景图有许多方法,此程序使用的方法是ImageButton.setImageResource(),需要传递的参数是res/drawable下面的ResourceID。除了设置背景图片的方法外,程序需要使用onFocusChange与onClick等作为按钮事件单击后的处理,最后通过TextView来

1280

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

【Android您问我讲】Android 2.x中使用actionbar - Actionbarsherlock的使用

1. 范例说明 从Android 3.0开始,Android引入了ActoinBar,不得不说3.0之前android的标题栏确实比较丑,并且还没有任何功能。之前很多应用的顶部栏很多都是仿苹果的,比如微信。随着Android 4.0和Android 4.2 的发布和慢慢的推广开来,很多应用也开始使用Google推广的UI设计,而ActionBar是其中相当重要的一部分。无奈google

1262

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

【Android您问我讲】超炫的左右滑动效果 - ViewPager的使用

1. 范例说明 •android-support-v4.jar,这是谷歌官方给我们提供的一个兼容低版本Android设备的软件包,里面包囊了只有在Android 3.0以上可以使用的api。而ViewPager就是其中之一,利用它我们可以做很多事情,从最简单的导航,到页面切换菜单等等。 •ViewPager的功能就是可以使视图滑动,就像Lanucher左右滑动那样。 •本Demo向大

1204

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Android学习进阶路线Android源码分享)

毕业8月有余,同时伴随着从事的Android经验的提升。仔细思量过去的工作内容,掐指算来也是少得可怜---主要维护FM收 音机模块,间或看看Lancher模块的代码。尽管这样,总的来说,在这八个月事件的学习里,我自我感觉收获还是很大的---自学了很多 Android相关方面的知识。虽然里真正的大牛还有很远的一段路程要走,自己也会坚持学习、坚持走下去。            再次,把自己学习

1198

【Android每日一讲】2012.11.09 EditText与TextView共舞 - setOnKeyListener事件

1. 范例说明 EditText Widget设计的初衷是为了等待User输入而准备的,那么在User输入的同时,又该如何拦截所输入的文字呢?Android的多数Widget都有setOnKeyListener事件,通过Listener捕捉User的键盘事件。本范例将以EditText与TextView示范如何在捕捉User键盘输入文字的同时实时取得文字,同步显示于TextView。

1197

【Android每日一讲】2012.11.01 程序加载中,请稍后 - ProgressDialog 与线程整合应用

1. 范例说明 常看见Windows窗口程序里或Flash程序的“加载中”对话框,在Android里,则是通过ProgressDialog来运行,这个类封装在Android.app.ProgressDialog里。该范例将设计一个按钮,在单击按钮之后开始线程的周期,在运行的过程中显示ProgressDialog,最后当线程运行完毕时,选择结束ProgressDialog对话窗口。

1131

【Android每日一讲】2012.11.29 自定义下拉菜单模式 - Spinner与setDropDownViewResource

1. 范例说明 Spinner就是下拉菜单,由于手机画面有限,要在有限的范围选择项目,下拉菜单是唯一、较好的选择。本范例的示范重点在于自定义下拉菜单里的样式,其关键在于调用setDropDownViewResource方法,以XML的方式定义下拉菜单要显示的模样,除此之外本范例还设计了一段动画,当User以触控的方式单击这个自定义的Spinner时,会以一段动画提示User。

1093

【Android每日一讲】2012.11.08 Android 多语系支持 -- Locale与Configuration

1. 范例说明 Android SDK自1.5以后便有应用程序多语系支持,大陆地区使用的语系为简体中文。本范例程序就是示范如何在资源文件(res/drawable与res/values)里创建多语系资源,随着多语系Android Market的诞生,多语系支持随即成了每一个应用程序出厂时的标准配备,以往要修改语系是大费周章的工程,更别说手机应用程序里如何处理不同语系了,以及不同地

1082

【Android每日一讲】2012.11.28 快速地搜索手机文件引擎 - Java IO的应用

1. 范例说明 大家都应该用过操作系统的文件搜索功能吧!它可以快速协助我们找到想要的文件。如果要在手机制作一个文件搜索功能,又该如何实现呢?其实这个功能并不难,Java I/O的API中提供了Java.io.File对象,只要利用File对象的方法,再搭配Android的EditText、TextView等对象,就可以轻松做出一个简单的手机文件搜索引擎。该范例中使用EditText、

1069

【Android每日一讲】2012.10.31 关于(about)程序信息 - Menu功能菜单程序设计

1. 范例说明 该范例介绍Android Menu Key的设计,并示范“关于”对话框、“离开程序”等语法。程序里除了默认重写onCreate()之外,还需要另外新建两个类函数:onCreateOptionsMenu()和onOptionsItemSelected()。前者为创建Menu菜单的项目,后者则是处理菜单被选择运行后的事件处理,最后则是在当User单击“关于”菜单之后,弹跳

1047
上一篇: 《Android 每日一讲》之 2012.10.29 控制不同的文字字体 -- Typeface对象使用
下一篇: [Android Samples视频系列之ApiDemos] App-Activity-IntentActivityFlags
cofftech
博客等级 码龄16年 46粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值