`

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

阅读更多
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
0
4
分享到:
评论

相关推荐

    python3.12对应的dlib-19.24.99-cp312-cp312-win-amd64

    总的来说,Dlib是一个强大的工具,无论是在学术研究还是工业应用中,都能发挥出显著的价值。对于Python 3.12的用户,这个特定版本的Dlib包确保了与Python解释器的兼容性,是进行相关开发工作不可或缺的资源。

    Android Studio 2020.3.1.24.zip

    Android Studio 是谷歌推出的一个Android集成开发工具,基于IntelliJ IDEA,提供了集成的 Android 开发工具用于开发和调试,该压缩文件包含了android-studio-2020.3.1.24-windows.exe和下载.txt,欢迎下载。

    64位centOS 6.5 安装gcc4.4.7所需的rpm包

    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-java-5.1.40.tar.gz

    MySQL Connector/J是MySQL数据库与Java应用程序之间的桥梁,它是一个实现了JDBC(Java Database Connectivity)标准的MySQL驱动程序。"mysql-connector-java-5.1.40.tar.gz" 是这个驱动程序的一个特定版本,版本号为...

    oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm

    1.5 配置环境变量 #vim ~/.bashrc --根目录下为全局使用,为限制用户权限,可只修改某一用户的环境变量 export ORACLE_HOME=/usr/lib/oracle/11.2/client64 export TNS_ADMIN=$ORACLE_HOME/network/admin export NLS...

    dlib-19.22.99-cp39-cp39-win_amd64.whl

    dlib 安装包 适用环境:windows x64 Python版本:3.9.X 安装方式:pip install dlib-19.22.99-cp39-cp39-win_amd64.whl

    instantclient-sqlplus-windows.x64-11.2.0.4.0

    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位中文语言包

    TortoiseSVN-1.9.2.26806-x64-svn-1.9.2 64位中文语言包

    SecureCRT SecureFX 7.0.0.326 - 中文版-免安装-解压即用

    压缩包里有SecureCRT7.0.0.326 和 SecureFX 7.0.0.326的中文版本,且分别有window下的32位(x86)程序和64位(x64)程序。 使用方法:下载后解压即可使用,免安装,免注册,可以支持SSH2、SSH1、Telnet、Telnet/SSH、...

    qt-everywhere-src-5.12.12源码

    Qt是一个强大的跨平台应用程序开发框架,主要由C++编写,支持多种操作系统,包括Windows、Linux、macOS、Android和iOS等。Qt5.12.12是该框架的一个稳定版本,提供了丰富的功能和优化,适用于桌面应用、移动应用以及...

    com.jcraft.jsch_0.1.31.jar和commons-net-3.2.jar

    5. **多线程支持**:可以在多个线程中同时使用SSH连接,提高程序性能。 接下来,`commons-net-3.2.jar`是Apache Commons Net库的一个版本,它包含了多种网络协议和实用工具,主要用于TCP/IP通信。Apache Commons ...

    Android 简单代码实现的Android 计算器源码.zip

    在Android平台上开发应用程序时,构建一个计算器应用是一个常见的学习任务,因为它涵盖了基本的用户界面设计、事件处理和逻辑计算。本篇文章将详细解析一个简单的Android计算器的实现过程,基于提供的"Android简单...

    jquery-ui-1.9.2.custom.min.js

    综上所述,"jquery-ui-1.9.2.custom.min.js" 是一个针对特定项目需求定制并经过最小化的jQuery UI版本,它集成了多个组件,为开发者提供了高效、灵活的用户界面解决方案。在实际应用中,正确地引入和使用这个文件,...

    VMwareTools-9.6.0-1294478.tar.gz

    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-v4.jar

    Android Support Library v4是一个重要的组件,它为Android应用程序提供了向后兼容的功能。这个库使得开发者能够使用最新的API特性,即使目标设备运行的是较旧版本的Android系统。最新版的`android-support-v4.jar`...

    Visual Studio Code auto.js.pro专用插件 Auto.js-Pro-Ext hyb1996

    Visual Studio Code上搜不到插件Auto.js-Pro-Ext hyb1996

    android-30.jar

    Launcher3编译需要用到

    libaio-0.3.107-10.el6.x86_64.rpm

    libaio-0.3.107-10.el6.x86_64.rpm

    android-async-http-1.4.8.jar

    强大的网络请求库,主要特征如下: 处理异步Http请求,并通过匿名内部类处理回调结果 Http请求均位于非UI线程,...通过线程池处理并发请求 处理文件上传、下载 响应结果自动打包JSON格式 自动处理连接断开时请求重连

    nexus-webapp-1.9.2.4安装文件

    Nexus是Sonatype公司开发的一款开源的仓库管理器,它在软件开发领域,尤其是Java生态中,扮演着重要角色。Nexus的主要功能是管理和代理Maven、npm、Gradle等构建工具的依赖仓库,帮助开发者高效地管理和分发软件构件...

Global site tag (gtag.js) - Google Analytics