太弱了,写个calculator写了2天...
还是在结石和潘老师的指点下完成的,java,哎,痛啊..完全忘光鸟..
不过一到公司零零散散的事 是多啊
package com.pako;import android.app.Activity;import android.os.Bundle;import android.util.Log;import android.view.View;import android.view.View.OnClickListener;import android.view.View.OnFocusChangeListener;import android.widget.EditText;import android.widget.ImageButton;import android.widget.TextView;import android.widget.Button;public class calzpc extends Activity implements OnClickListener { private TextView operator; private Button num1; private Button num2; private Button num3; private Button num4; private Button num5; private Button num6; private Button num7; private Button num8; private Button num9; private Button num10; private Button add; private Button cancel; private Button decrease; private Button multiply; private Button devide; private Button equal_key; private EditText result; private EditText input1; private EditText input2; private int input1value = 0; private int input2value = 0; private String opstr =""; private float opresult =0; private EditText input=input1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main);// mImageButton1 =(ImageButton) findViewById(R.id.myImageButton1);// mButton1=(Button)findViewById(R.id.myButton1);// mTextView1 = (TextView) findViewById(R.id.myTextView1); num1 = (Button)findViewById(R.id.num1); num2 = (Button)findViewById(R.id.num2); num3 = (Button)findViewById(R.id.num3); num4 = (Button)findViewById(R.id.num4); num5 = (Button)findViewById(R.id.num5); num6 = (Button)findViewById(R.id.num6); num7 = (Button)findViewById(R.id.num7); num8 = (Button)findViewById(R.id.num8); num9 = (Button)findViewById(R.id.num9); add = (Button)findViewById(R.id.add); decrease = (Button)findViewById(R.id.decrease); multiply = (Button)findViewById(R.id.multiply); devide = (Button)findViewById(R.id.devide); cancel = (Button)findViewById(R.id.cancel); equal_key = (Button)findViewById(R.id.equal_key); operator = (TextView)findViewById(R.id.operator); input1 = (EditText)findViewById(R.id.input1); input2 = (EditText)findViewById(R.id.input2); result = (EditText)findViewById(R.id.result); num1.setOnClickListener(this); num2.setOnClickListener(this); num3.setOnClickListener(this); num4.setOnClickListener(this); num5.setOnClickListener(this); num6.setOnClickListener(this); num7.setOnClickListener(this); num8.setOnClickListener(this); num9.setOnClickListener(this); add.setOnClickListener(this); decrease.setOnClickListener(this); multiply.setOnClickListener(this); devide.setOnClickListener(this); cancel.setOnClickListener(this); equal_key.setOnClickListener(this); input1.setOnClickListener(this); input2.setOnClickListener(this); } public void onClick(View v) { int inputid = v.getId(); if (inputid == R.id.input1) { input = input1; } else if (inputid == R.id.input2) { input = input2; } else { CharSequence label = ((Button) v).getText(); Log.i("isnumberkey",String.valueOf(Character.isDigit(label.charAt(0))) ); Log.i("is_cancel=",String.valueOf(String.valueOf(label).charAt(0)=='c') ); if (String.valueOf(label).charAt(0)=='=') { Log.i("down the equal_key","1"); opresult = operator(opstr.charAt(0)); result.setText(String.valueOf(opresult)); } else { if (String.valueOf(label).charAt(0)=='c') { operator.setText(""); input1.setText(""); input2.setText(""); } else{ if (Character.isDigit(label.charAt(0))) { Log.i("enter into number key","enter into number key"); numkey(Integer.valueOf(((Button)v).getText().toString())); } else { Log.i("enter into operator key","enter into operator key"); operator.setText(label); opstr = String.valueOf(label); } } } } } public void numkey(int keynum) { String snum = String.valueOf(keynum); String prestr = String.valueOf(input.getText()); String inputstr = prestr+snum; Log.i("inputstr",inputstr); input.setText(inputstr);// if (String.valueOf(input1.getText()).length()<1)// {input1.setText(snum);// input1value = keynum;// Log.i("input1_text=",String.valueOf(input2.getText()));}// else// {input2.setText(snum);// input2value = keynum;// Log.i("input2_text",String.valueOf(input2.getText()));} } public float operator(char opchar) { float int1 = Float.valueOf(String.valueOf(input1.getText())); float int2 = Float.valueOf(String.valueOf(input2.getText())); float result = 0; switch (opchar) { case '+': result = int1+int2; break; case '-': result = int1-int2; break; case '*': result = int1*int2; break; case '/': if (int2 ==0) { result =0; break; } else { result = int1/int2; break; } default:result=0; break; } Log.i("result=",String.valueOf(result)); return result; }}