android计算器
来源:互联网 发布:windows qt安装包下载 编辑:程序博客网 时间:2024/05/19 05:30
主类:
package com.bn.es2b;//包名
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.view.View.OnClickListener;
public class Sample2_2_Activity extends Activity
{
TextView tv;
int[] buttons;//数字按钮数组
int result;
int result0;
int result1;
Button buttonC;//按钮对象声明
Button buttonJia;
Button buttonJian;
Button buttonCheng;
Button buttonChu;
Button buttonDengyu;
String str1; //旧输入的值
String str2; //新输入的值
int flag=0; //计算标志位,0第一次输入;1加;2减;3乘;4除;5等于
Button temp;
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main); //跳转到main界面
initButton();
//清空按钮的点击事件监听器
buttonC.setOnClickListener
(
new OnClickListener()
{
public void onClick(View v)
{
str1="";
str2=""; //清空记录
tv.setText(str1);
flag=0;
}
}
);
//监听
for(int i=0;i<buttons.length;i++)
{
temp=(Button)findViewById(buttons[i]);
temp.setOnClickListener
( //为Button添加监听器
new OnClickListener()
{
public void onClick(View v)
{ //此处为计算器的关键代码
// 当第一次按下按钮时,str1="";之后再累加数字,之前一直没有弄懂的,现在知道了
str1=tv.getText().toString().trim();
str1=str1+String.valueOf(((Button)v).getText());//获得新输入的值 参数v此时是按钮,所以需要强制转换;
System.out.println("str1"+":::"+str1);
tv.setText(str1);
}
}
);
}
buttonListener(buttonJia,1);
buttonListener(buttonJian,2);
buttonListener(buttonCheng,3);
buttonListener(buttonChu,4);
buttonDengyu.setOnClickListener
(
new OnClickListener()
{
public void onClick(View v)
{System.out.println(str1);
result1=Integer.parseInt(str1);
if(flag==1)
{
result=result0+result1;
System.out.println(result0+":"+result1);
}
else if(flag==2)
{
result=result0-result1;
}
else if(flag==3)
{
result=result0*result1;
}
else if(flag==4)
{
result=(int)(result0/result1);
}
String str=(result+"").trim();
System.out.println(str);
tv.setText(str);
}
}
);
}
//初始化按钮
public void initButton()
{ //初始化控件资源
tv=(TextView)this.findViewById(R.id.tv);//获取文本框控件对象
str1=String.valueOf(tv.getText());str2=""; //初始化运算输入数值
buttonC=(Button)this.findViewById(R.id.ButtonC);//获得计算按钮的按钮对象
buttonJia=(Button)this.findViewById(R.id.ButtonJia);
buttonJian=(Button)this.findViewById(R.id.ButtonJian);
buttonCheng=(Button)this.findViewById(R.id.ButtonCheng);
buttonChu=(Button)this.findViewById(R.id.ButtonChu);
buttonDengyu=(Button)this.findViewById(R.id.ButtonDengyu);
buttons=new int[]
{ //记录数值按钮的id
R.id.Button00,R.id.Button01,R.id.Button02,R.id.Button03,R.id.Button04,
R.id.Button05,R.id.Button06,R.id.Button07,R.id.Button08,R.id.Button09
};
}
//按钮监听
public void buttonListener(Button button,final int id)
{
button.setOnClickListener
(
new OnClickListener()
{
public void onClick(View v)
{
String str=tv.getText().toString().trim();
result0=Integer.parseInt(str);
tv.setText("");
flag=id;
}
}
);
}
}
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="5dip">
<TextView
android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height="40dip"
android:layout_marginRight="5dip"
android:layout_marginLeft="5dip"
android:background="#FFFFFF"
android:gravity="center_vertical|right"
android:textSize="30dip"
android:textColor="#ff0000">
</TextView>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="5dip">
<Button
android:text="7"
android:textSize="25dip"
android:id="@+id/Button07"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
<Button
android:text="8"
android:textSize="25dip"
android:id="@+id/Button08"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
<Button
android:text="9"
android:textSize="25dip"
android:id="@+id/Button09"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
<Button
android:text="+"
android:textSize="25dip"
android:id="@+id/ButtonJia"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="5dip">
<Button
android:text="4"
android:textSize="25dip"
android:id="@+id/Button04"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
<Button
android:text="5"
android:textSize="25dip"
android:id="@+id/Button05"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
<Button
android:text="6"
android:textSize="25dip"
android:id="@+id/Button06"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
<Button
android:text="-"
android:textSize="25dip"
android:id="@+id/ButtonJian"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="5dip">
<Button
android:text="1"
android:textSize="25dip"
android:id="@+id/Button01"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
<Button
android:text="2"
android:textSize="25dip"
android:id="@+id/Button02"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
<Button
android:text="3"
android:textSize="25dip"
android:id="@+id/Button03"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
<Button
android:text="*"
android:textSize="25dip"
android:id="@+id/ButtonCheng"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
</LinearLayout>
<LinearLayout
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:paddingTop="5dip">
<Button
android:text="0"
android:textSize="25dip"
android:id="@+id/Button00"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
<Button
android:text="c"
android:textSize="25dip"
android:id="@+id/ButtonC"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
<Button
android:text="="
android:textSize="25dip"
android:id="@+id/ButtonDengyu"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
<Button
android:text="/"
android:textSize="25dip"
android:id="@+id/ButtonChu"
android:layout_width="80dip"
android:layout_height="wrap_content"/>
</LinearLayout>
</LinearLayout>
- android计算器
- android 计算器
- Android计算器
- android计算器
- android计算器
- android 计算器
- android计算器
- Android计算器
- Android计算器
- 【Android】计算器
- Android 计算器
- Android--计算器
- android 计算器 开发 很郁闷的计算器
- Android 计算器解析(三): 美化计算器界面
- Android's calculator 计算器
- 仿android计算器
- Android实现计算器功能
- android乘法计算器
- 给java工程添加hession
- SQl获取某一字符出现次数
- 应用struts2的一个登陆小实例,Marker一下
- 如何创建并运行java线程
- 数据库_jdbc_改造MVC案例(登录注册)
- android计算器
- C++ 只声明该类为抽象类
- c、c++变量在64位机器和32位机器的区别
- QGIS编译
- C++文件读写详解(ofstream,ifstream,fstream)
- IOS沙盒机制和文件操作(1)
- 希尔伯特曲线实现
- 浅谈vivado HLS从C/C++到硬件描述语言转换
- ASP.NET中配置应用程序