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
- 大小: 33.8 KB
分享到:
相关推荐
总的来说,Dlib是一个强大的工具,无论是在学术研究还是工业应用中,都能发挥出显著的价值。对于Python 3.12的用户,这个特定版本的Dlib包确保了与Python解释器的兼容性,是进行相关开发工作不可或缺的资源。
Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA,提供了集成的 Android 开发工具用于开发和调试,该压缩文件包含了android-studio-2020.3.1.24-windows.exe和下载.txt,欢迎下载。
cloog-ppl-0.15.7-1.2.el6.x86_64.rpm cpp-4.4.7-4.el6.x86_64.rpm gcc-4.4.7-4.el6.x86_64.rpm gmp-4.3.1-7.el6_2.2.x86_64.rpm libmpdclient2-2.1-1.el5.rf.x86_64.rpm mpc-0.19-1.el6.rf.x86_64.rpm ...
MySQL Connector/J是MySQL数据库与Java应用程序之间的桥梁,它是一个实现了JDBC(Java Database Connectivity)标准的MySQL驱动程序。"mysql-connector-java-5.1.40.tar.gz" 是这个驱动程序的一个特定版本,版本号为...
1.5 配置环境变量 #vim ~/.bashrc --根目录下为全局使用,为限制用户权限,可只修改某一用户的环境变量 export ORACLE_HOME=/usr/lib/oracle/11.2/client64 export TNS_ADMIN=$ORACLE_HOME/network/admin export NLS...
dlib 安装包 适用环境:windows x64 Python版本:3.9.X 安装方式:pip install dlib-19.22.99-cp39-cp39-win_amd64.whl
Navicat for oracle、PL/SQL 都可以使用这个插件。instantclient-basic-win-x86-64-11.2.0.1.0,instantclient-sqlplus-windows.x64-11.2.0.4.0,解压合并到一个文件夹中。
TortoiseSVN-1.9.2.26806-x64-svn-1.9.2 64位中文语言包
压缩包里有SecureCRT7.0.0.326 和 SecureFX 7.0.0.326的中文版本,且分别有window下的32位(x86)程序和64位(x64)程序。 使用方法:下载后解压即可使用,免安装,免注册,可以支持SSH2、SSH1、Telnet、Telnet/SSH、...
Qt是一个强大的跨平台应用程序开发框架,主要由C++编写,支持多种操作系统,包括Windows、Linux、macOS、Android和iOS等。Qt5.12.12是该框架的一个稳定版本,提供了丰富的功能和优化,适用于桌面应用、移动应用以及...
5. **多线程支持**:可以在多个线程中同时使用SSH连接,提高程序性能。 接下来,`commons-net-3.2.jar`是Apache Commons Net库的一个版本,它包含了多种网络协议和实用工具,主要用于TCP/IP通信。Apache Commons ...
在Android平台上开发应用程序时,构建一个计算器应用是一个常见的学习任务,因为它涵盖了基本的用户界面设计、事件处理和逻辑计算。本篇文章将详细解析一个简单的Android计算器的实现过程,基于提供的"Android简单...
综上所述,"jquery-ui-1.9.2.custom.min.js" 是一个针对特定项目需求定制并经过最小化的jQuery UI版本,它集成了多个组件,为开发者提供了高效、灵活的用户界面解决方案。在实际应用中,正确地引入和使用这个文件,...
vmware tools 9.6.0 是vmware player 6.0.0 (VMware@Player 6.0.0 build - 1295980) 所带的tools,安装之后可以实现xp共享目录被ubuntu访问,实现资源共享,vmware player全屏等 使用方法: - 拷贝至Linux系统中...
Android Support Library v4是一个重要的组件,它为Android应用程序提供了向后兼容的功能。这个库使得开发者能够使用最新的API特性,即使目标设备运行的是较旧版本的Android系统。最新版的`android-support-v4.jar`...
Visual Studio Code上搜不到插件Auto.js-Pro-Ext hyb1996
Launcher3编译需要用到
libaio-0.3.107-10.el6.x86_64.rpm
强大的网络请求库,主要特征如下: 处理异步Http请求,并通过匿名内部类处理回调结果 Http请求均位于非UI线程,...通过线程池处理并发请求 处理文件上传、下载 响应结果自动打包JSON格式 自动处理连接断开时请求重连
Nexus是Sonatype公司开发的一款开源的仓库管理器,它在软件开发领域,尤其是Java生态中,扮演着重要角色。Nexus的主要功能是管理和代理Maven、npm、Gradle等构建工具的依赖仓库,帮助开发者高效地管理和分发软件构件...