Android-CheckBox 实现计算器
来源:互联网 发布:淘宝培训课程 编辑:程序博客网 时间:2024/04/29 12:01
源代码下载地址:http://download.csdn.net/detail/wu20093346/7718055
使用CheckBox的OnCheckedChangeListener做事件触发,效果图:
list=new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(mBox1.isChecked()) { mBox1.setChecked(false); } if(mBox2.isChecked()) { mBox2.setChecked(false); } if(mBox3.isChecked()) { mBox3.setChecked(false); } if(mBox4.isChecked()) { mBox4.setChecked(false); } return false; } }; mEditText.setOnKeyListener(list); mEditText1.setOnKeyListener(list);如代码所写,每当用户重新输入数字后,就会激发文本框的onKey事件,让所有的CheckBox变成不选中状态。
listner=new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub switch (buttonView.getId()) { case R.id.Plus: if(!isEmpty(mEditText,mEditText1)) { Confirm(); mBox1.setChecked(false); return; } break; case R.id.Cut: if(!isEmpty(mEditText,mEditText1)) { Confirm(); mBox2.setChecked(false); return; } break; case R.id.Ride: if(!isEmpty(mEditText,mEditText1)) { Confirm(); mBox3.setChecked(false); return; } break; case R.id.Except: if(!isEmpty(mEditText,mEditText1)) { Confirm(); mBox4.setChecked(false); return; } break; default: break; } if(mBox1.isChecked()) { mTextView.setText( GetOperation("+")); } else { mTextView.setText(""); } if(mBox2.isChecked()){mTextView2.setText(GetOperation("-")); } else{ mTextView2.setText(""); } if(mBox3.isChecked()) { mTextView3.setText(GetOperation("*")); } else { mTextView3.setText(""); } if(mBox4.isChecked()) { mTextView4.setText(GetOperation("/")); } else { mTextView4.setText(""); } } }; mBox1.setOnCheckedChangeListener(listner); mBox2.setOnCheckedChangeListener(listner); mBox3.setOnCheckedChangeListener(listner); mBox4.setOnCheckedChangeListener(listner);根据选择的checkbox返回计算结果,如果uncheck将清空文本,选择checkbox之前必须要输入两个数字。
全部代码:
package cn.terry;import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; import android.os.Bundle; import android.view.KeyEvent; import android.view.View; import android.view.View.OnKeyListener; import android.widget.*; import android.widget.CompoundButton.OnCheckedChangeListener; public class CheckBoxCalc extends Activity { private TextView mTextView; private TextView mTextView2; private TextView mTextView3; private TextView mTextView4; private CheckBox mBox1; private CheckBox mBox2; private CheckBox mBox3; private CheckBox mBox4; private EditText mEditText; private EditText mEditText1; private boolean isbool=true; private OnCheckedChangeListener listner; private Float Temp; private String Experssion; private OnKeyListener list; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); mTextView=(TextView)findViewById(R.id.result1); mTextView2=(TextView)findViewById(R.id.result2); mTextView3=(TextView)findViewById(R.id.result3); mTextView4=(TextView)findViewById(R.id.result4); mBox1=(CheckBox)findViewById(R.id.Plus); //加減乘除 mBox2=(CheckBox)findViewById(R.id.Cut); mBox3=(CheckBox)findViewById(R.id.Ride); mBox4=(CheckBox)findViewById(R.id.Except); mEditText=(EditText)findViewById(R.id.first);mEditText1=(EditText)findViewById(R.id.second); list=new OnKeyListener() { @Override public boolean onKey(View v, int keyCode, KeyEvent event) { // TODO Auto-generated method stub if(mBox1.isChecked()) { mBox1.setChecked(false); } if(mBox2.isChecked()) { mBox2.setChecked(false); } if(mBox3.isChecked()) { mBox3.setChecked(false);} if(mBox4.isChecked()) { mBox4.setChecked(false); } return false; } }; mEditText.setOnKeyListener(list);mEditText1.setOnKeyListener(list); listner=new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { // TODO Auto-generated method stub switch (buttonView.getId()) { case R.id.Plus: if(!isEmpty(mEditText,mEditText1)) { Confirm(); mBox1.setChecked(false); return; } break; case R.id.Cut: if(!isEmpty(mEditText,mEditText1)) { Confirm(); mBox2.setChecked(false); return; } break; case R.id.Ride:if(!isEmpty(mEditText,mEditText1)) { Confirm(); mBox3.setChecked(false); return; } break; case R.id.Except: if(!isEmpty(mEditText,mEditText1)) { Confirm(); mBox4.setChecked(false); return; } break; default: break; } if(mBox1.isChecked()) { mTextView.setText( GetOperation("+")); } else { mTextView.setText(""); } if(mBox2.isChecked()) { mTextView2.setText(GetOperation("-")); } else { mTextView2.setText(""); } if(mBox3.isChecked()) { mTextView3.setText(GetOperation("*")); } else { mTextView3.setText(""); } if(mBox4.isChecked()) { mTextView4.setText(GetOperation("/")); } else { mTextView4.setText(""); } } }; mBox1.setOnCheckedChangeListener(listner); mBox2.setOnCheckedChangeListener(listner); mBox3.setOnCheckedChangeListener(listner);mBox4.setOnCheckedChangeListener(listner); } public String GetOperation(String Operation){ if(Operation=="+") { Temp=Float.parseFloat(mEditText.getText().toString())+ Float.parseFloat(mEditText1.getText().toString()); }if(Operation=="-"){ Temp=Float.parseFloat(mEditText.getText().toString())- Float.parseFloat(mEditText1.getText().toString()); } if(Operation=="*") { Temp=Float.parseFloat(mEditText.getText().toString())* Float.parseFloat(mEditText1.getText().toString()); } if(Operation=="/") { Temp=Float.parseFloat(mEditText.getText().toString())/ Float.parseFloat(mEditText1.getText().toString()); } Experssion=mEditText.getText().toString()+Operation+mEditText1.getText().toString() +"="+Temp.toString(); return Experssion; } public void Confirm(){ new AlertDialog.Builder(CheckBoxCalc.this) .setTitle("alert") .setMessage("can not be null") .setPositiveButton("OK", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // TODO Auto-generated method stub} }) .create().show(); } public boolean isEmpty(EditText e,EditText a){ if(e.getText().toString().length()>0 && a.getText().toString().length()>0) { isbool= true; } else { isbool=false; } return isbool; } }
2 0
- Android-CheckBox 实现计算器
- Android实现计算器功能
- android实现计算器功能
- Android计算器实现
- Android实现简单计算器
- android简单计算器实现
- Android简单计算器实现
- Android 简易计算器实现
- Android原生实现 计算器
- android checkbox多选框实现
- Android CheckBox实现SwitchButton
- Android 小项目之--CheckBox<又>计算器 (附源码)
- Android计算器功能的实现
- Android 简单计算器的实现
- Android JNI实现计算器demo
- Android学习—计算器实现
- Android计算器实现源码分析
- android 计算器(GridView实现)
- Qt中Ui名字空间以及setupUi函数
- iOS实现UIImageView透明区域点击事件穿透
- 单链表的初始化,建立,插入,查找,删除
- linux下处理图片时需加上参数“-Djava.awt.headless=true”
- 使用html制作静态网页
- Android-CheckBox 实现计算器
- 生产系统oracle备份及恢复
- hadoop二次排序流程实例详解
- 倒计时(剩余时间xx天xx小时xx分钟xx秒)
- Angular 基础环境构建学习
- AIDL初涉
- SqlSer 实现动态排序的核心Sql,本身的Up 或 Down
- iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- NYOJ--485 A*B Problem