--- android/Calculator/src/dk/thoerup/calculator/CalculatorActivity.java 2010/06/28 08:52:48 935 +++ android/Calculator/src/dk/thoerup/calculator/CalculatorActivity.java 2010/06/28 09:02:51 936 @@ -7,13 +7,20 @@ import android.widget.EditText; public class CalculatorActivity extends Activity { - /** Called when the activity is first created. */ + enum Ops { + None, + Addition, + Subtraction, + Multiplication, + Division + } + EditText mEdit; double mVal1; - char mOperation = ' '; + Ops mOperation = Ops.None; boolean mClear = false; @Override @@ -35,10 +42,10 @@ findViewById(R.id.btnback).setOnClickListener( new BackClick() ); findViewById(R.id.btnpoint).setOnClickListener( new PointClick() ); - findViewById(R.id.btnadd).setOnClickListener( new OperationClick('+') ); - findViewById(R.id.btnsub).setOnClickListener( new OperationClick('-') ); - findViewById(R.id.btnmul).setOnClickListener( new OperationClick('*') ); - findViewById(R.id.btndiv).setOnClickListener( new OperationClick('/') ); + findViewById(R.id.btnadd).setOnClickListener( new OperationClick(Ops.Addition) ); + findViewById(R.id.btnsub).setOnClickListener( new OperationClick(Ops.Subtraction) ); + findViewById(R.id.btnmul).setOnClickListener( new OperationClick(Ops.Multiplication) ); + findViewById(R.id.btndiv).setOnClickListener( new OperationClick(Ops.Division) ); findViewById(R.id.btnsum).setOnClickListener( new SumClick() ); @@ -100,8 +107,8 @@ } class OperationClick implements View.OnClickListener { - char mOp; - public OperationClick(char op) { + Ops mOp; + public OperationClick(Ops op) { mOp = op; } @@ -118,7 +125,7 @@ class SumClick implements View.OnClickListener { @Override public void onClick(View v) { - if (mOperation == ' ') { + if (mOperation == Ops.None) { return; } @@ -126,16 +133,16 @@ Double res = 0.0; switch (mOperation) { - case '+': + case Addition: res = mVal1 + val2; break; - case '-': + case Subtraction: res = mVal1 - val2; break; - case '*': + case Multiplication: res = mVal1 * val2; break; - case '/': + case Division: res = mVal1 / val2; break; } @@ -145,7 +152,7 @@ } mEdit.setText( res.toString() ); - mOperation = ' '; + mOperation = Ops.None; mVal1 = res; } }