/[projects]/android/Calculator/src/dk/thoerup/calculator/CalculatorActivity.java
ViewVC logotype

Diff of /android/Calculator/src/dk/thoerup/calculator/CalculatorActivity.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 935 by torben, Mon Jun 28 08:52:48 2010 UTC revision 936 by torben, Mon Jun 28 09:02:51 2010 UTC
# Line 7  import android.view.View; Line 7  import android.view.View;
7  import android.widget.EditText;  import android.widget.EditText;
8    
9  public class CalculatorActivity extends Activity {  public class CalculatorActivity extends Activity {
10      /** Called when the activity is first created. */          enum Ops {
11                    None,
12                    Addition,
13                    Subtraction,
14                    Multiplication,
15                    Division
16            }
17            
18                    
19          EditText mEdit;          EditText mEdit;
20                    
21                    
22          double mVal1;          double mVal1;
23          char mOperation = ' ';          Ops mOperation = Ops.None;
24          boolean mClear = false;          boolean mClear = false;
25                                    
26      @Override      @Override
# Line 35  public class CalculatorActivity extends Line 42  public class CalculatorActivity extends
42          findViewById(R.id.btnback).setOnClickListener( new BackClick() );          findViewById(R.id.btnback).setOnClickListener( new BackClick() );
43          findViewById(R.id.btnpoint).setOnClickListener( new PointClick() );          findViewById(R.id.btnpoint).setOnClickListener( new PointClick() );
44                    
45          findViewById(R.id.btnadd).setOnClickListener( new OperationClick('+') );          findViewById(R.id.btnadd).setOnClickListener( new OperationClick(Ops.Addition) );
46          findViewById(R.id.btnsub).setOnClickListener( new OperationClick('-') );          findViewById(R.id.btnsub).setOnClickListener( new OperationClick(Ops.Subtraction) );
47          findViewById(R.id.btnmul).setOnClickListener( new OperationClick('*') );          findViewById(R.id.btnmul).setOnClickListener( new OperationClick(Ops.Multiplication) );
48          findViewById(R.id.btndiv).setOnClickListener( new OperationClick('/') );          findViewById(R.id.btndiv).setOnClickListener( new OperationClick(Ops.Division) );
49                    
50          findViewById(R.id.btnsum).setOnClickListener( new SumClick() );          findViewById(R.id.btnsum).setOnClickListener( new SumClick() );
51                    
# Line 100  public class CalculatorActivity extends Line 107  public class CalculatorActivity extends
107      }      }
108            
109      class OperationClick implements View.OnClickListener {      class OperationClick implements View.OnClickListener {
110          char mOp;          Ops mOp;
111          public OperationClick(char op) {          public OperationClick(Ops op) {
112                  mOp = op;                  mOp = op;
113          }          }
114    
# Line 118  public class CalculatorActivity extends Line 125  public class CalculatorActivity extends
125      class SumClick implements View.OnClickListener {      class SumClick implements View.OnClickListener {
126                  @Override                  @Override
127                  public void onClick(View v) {                  public void onClick(View v) {
128                          if (mOperation == ' ') {                          if (mOperation == Ops.None) {
129                                  return;                                  return;
130                          }                                                }                      
131                                                    
# Line 126  public class CalculatorActivity extends Line 133  public class CalculatorActivity extends
133    
134                          Double res = 0.0;                          Double res = 0.0;
135                          switch (mOperation) {                          switch (mOperation) {
136                          case '+':                          case Addition:
137                                  res = mVal1 + val2;                                  res = mVal1 + val2;
138                                  break;                                  break;
139                          case '-':                          case Subtraction:
140                                  res = mVal1 - val2;                                  res = mVal1 - val2;
141                                  break;                                  break;
142                          case '*':                          case Multiplication:
143                                  res = mVal1 * val2;                                  res = mVal1 * val2;
144                                  break;                                  break;
145                          case '/':                          case Division:
146                                  res = mVal1 / val2;                                  res = mVal1 / val2;
147                                  break;                                                            break;                          
148                          }                          }
# Line 145  public class CalculatorActivity extends Line 152  public class CalculatorActivity extends
152                          }                          }
153                                                    
154                          mEdit.setText( res.toString() );                          mEdit.setText( res.toString() );
155                          mOperation = ' ';                          mOperation = Ops.None;
156                          mVal1 = res;                          mVal1 = res;
157                  }                  }
158      }          }    

Legend:
Removed from v.935  
changed lines
  Added in v.936

  ViewVC Help
Powered by ViewVC 1.1.20