sina4everafter
دوشنبه 01 اردیبهشت 1393, 15:30 عصر
سلام.
دوستان اگر امکانش هست من و راهنمایی کنید.ممنون.
من می خوام یه ماشین حساب بنویسم طوری که کاربر نخواد از کیبور گوشی استفاده کنه.مثه ماشین حساب خود اندروید اعداد و داشته باشه.همچنین ضرب و تقسیم و ...
من با استفاده از switch می خوام این کار و انجام بدم.منظورم اینه که اصلا نمی خوام برای هر دکمه onClickListener تعریف کنم.می خوام داخل case های switch آی دی دکمه ها بدم تا برنامه متوجه بشه که کدوم دکمه کلیک شده.من تا اینجای کار مشکلی ندارم.
مشکل من اینه که نمی دونم که چطور وقتی کاربر یه عددی و وارد کرد و بعد روی + کلیک کرد چه طور اون عدد قبلی و با این + و یا دستورات بعدی حساب کنه.
این هم کدمه.اگه میشه یه راهنمایی کنید.ممنون.
------------------------------------------------------
package ir.blog.javaroid.calculator;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.app.Activity;
public class MainActivity extends Activity implements OnClickListener{
//---All View---
EditText eText;
Button btn_Clear, btn_Zero, btn_One, btn_Two, btn_Three, btn_Four, btn_Five, btn_Six, btn_Seven, btn_Eight, btn_Nine, btn_Equals, btn_Divide,
btn_Multiply, btn_Plus, btn_Minus, btn_Float, btn_Del;//---End---
double numEquals = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//---Link to the UI---
eText = (EditText) findViewById(R.id.eText_One_FL);
btn_Clear = (Button) findViewById(R.id.btn_Clear_FL);
btn_Zero = (Button) findViewById(R.id.btn_Zero_FL);
btn_One = (Button) findViewById(R.id.btn_One_FL);
btn_Two = (Button) findViewById(R.id.btn_Two_FL);
btn_Three = (Button) findViewById(R.id.btn_Three_FL);
btn_Four = (Button) findViewById(R.id.btn_Four_FL);
btn_Five = (Button) findViewById(R.id.btn_Five_FL);
btn_Six = (Button) findViewById(R.id.btn_Six_FL);
btn_Seven = (Button) findViewById(R.id.btn_Seven_FL);
btn_Eight = (Button) findViewById(R.id.btn_Eight_FL);
btn_Nine = (Button) findViewById(R.id.btn_Nine_FL);
btn_Equals = (Button) findViewById(R.id.btn_Equals_FL);
btn_Divide = (Button) findViewById(R.id.btn_Divide_FL);
btn_Multiply = (Button) findViewById(R.id.btn_Multyply_FL);
btn_Plus = (Button) findViewById(R.id.btn_Plus_FL);
btn_Minus = (Button) findViewById(R.id.btn_Minus_FL);
btn_Float = (Button) findViewById(R.id.btn_Float_FL);
btn_Del = (Button) findViewById(R.id.btn_Del_FL);//---End---
btn_One.setOnClickListener(this);
btn_Plus.setOnClickListener(this);
btn_Equals.setOnClickListener(this);
}
@Override
public void onClick(View whichBtn) {
switch (whichBtn.getId()) {
case R.id.btn_One_FL:
eText.setText(btn_One.getText().toString());
double num_One = Double.parseDouble(btn_One.getText().toString());
numEquals += num_One;
break;
case R.id.btn_Two_FL:
double num_Two = Double.parseDouble(btn_Two.getText().toString());
numEquals += num_Two;
}
switch (whichBtn.getId()) {
case R.id.btn_Plus_FL:
eText.setText(btn_Plus.getText().toString());
double getEText = Double.parseDouble(eText.getText().toString());
break;
case R.id.btn_Equals_FL:
String str = Double.toString(numEquals);
eText.setText(str);
}
}
}
دوستان اگر امکانش هست من و راهنمایی کنید.ممنون.
من می خوام یه ماشین حساب بنویسم طوری که کاربر نخواد از کیبور گوشی استفاده کنه.مثه ماشین حساب خود اندروید اعداد و داشته باشه.همچنین ضرب و تقسیم و ...
من با استفاده از switch می خوام این کار و انجام بدم.منظورم اینه که اصلا نمی خوام برای هر دکمه onClickListener تعریف کنم.می خوام داخل case های switch آی دی دکمه ها بدم تا برنامه متوجه بشه که کدوم دکمه کلیک شده.من تا اینجای کار مشکلی ندارم.
مشکل من اینه که نمی دونم که چطور وقتی کاربر یه عددی و وارد کرد و بعد روی + کلیک کرد چه طور اون عدد قبلی و با این + و یا دستورات بعدی حساب کنه.
این هم کدمه.اگه میشه یه راهنمایی کنید.ممنون.
------------------------------------------------------
package ir.blog.javaroid.calculator;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.app.Activity;
public class MainActivity extends Activity implements OnClickListener{
//---All View---
EditText eText;
Button btn_Clear, btn_Zero, btn_One, btn_Two, btn_Three, btn_Four, btn_Five, btn_Six, btn_Seven, btn_Eight, btn_Nine, btn_Equals, btn_Divide,
btn_Multiply, btn_Plus, btn_Minus, btn_Float, btn_Del;//---End---
double numEquals = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//---Link to the UI---
eText = (EditText) findViewById(R.id.eText_One_FL);
btn_Clear = (Button) findViewById(R.id.btn_Clear_FL);
btn_Zero = (Button) findViewById(R.id.btn_Zero_FL);
btn_One = (Button) findViewById(R.id.btn_One_FL);
btn_Two = (Button) findViewById(R.id.btn_Two_FL);
btn_Three = (Button) findViewById(R.id.btn_Three_FL);
btn_Four = (Button) findViewById(R.id.btn_Four_FL);
btn_Five = (Button) findViewById(R.id.btn_Five_FL);
btn_Six = (Button) findViewById(R.id.btn_Six_FL);
btn_Seven = (Button) findViewById(R.id.btn_Seven_FL);
btn_Eight = (Button) findViewById(R.id.btn_Eight_FL);
btn_Nine = (Button) findViewById(R.id.btn_Nine_FL);
btn_Equals = (Button) findViewById(R.id.btn_Equals_FL);
btn_Divide = (Button) findViewById(R.id.btn_Divide_FL);
btn_Multiply = (Button) findViewById(R.id.btn_Multyply_FL);
btn_Plus = (Button) findViewById(R.id.btn_Plus_FL);
btn_Minus = (Button) findViewById(R.id.btn_Minus_FL);
btn_Float = (Button) findViewById(R.id.btn_Float_FL);
btn_Del = (Button) findViewById(R.id.btn_Del_FL);//---End---
btn_One.setOnClickListener(this);
btn_Plus.setOnClickListener(this);
btn_Equals.setOnClickListener(this);
}
@Override
public void onClick(View whichBtn) {
switch (whichBtn.getId()) {
case R.id.btn_One_FL:
eText.setText(btn_One.getText().toString());
double num_One = Double.parseDouble(btn_One.getText().toString());
numEquals += num_One;
break;
case R.id.btn_Two_FL:
double num_Two = Double.parseDouble(btn_Two.getText().toString());
numEquals += num_Two;
}
switch (whichBtn.getId()) {
case R.id.btn_Plus_FL:
eText.setText(btn_Plus.getText().toString());
double getEText = Double.parseDouble(eText.getText().toString());
break;
case R.id.btn_Equals_FL:
String str = Double.toString(numEquals);
eText.setText(str);
}
}
}