Androidコーディングの学習を始めたばかりです。私はJavaの基礎を理解しています。ボタンとOnclickListeners
について学んだので、ボタンを使用して電卓を設計する簡単なプログラムを開発することを考えました。私の論理が正しいなら私を助けてください。 が(beq
ボタン)と等しいと機能しません!Androidでの初心者 - OnclickListeners
int a, b, total,OP;
Button b1, b2, b3, b4, b5, b6, b7, b8, b9, b0, badd, bsub, bmul, bdiv, bclr, beq;
EditText et;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
b1 = (Button) findViewById(R.id.b1);
b2 = (Button) findViewById(R.id.b2);
b3 = (Button) findViewById(R.id.b3);
b4 = (Button) findViewById(R.id.b4);
b5 = (Button) findViewById(R.id.b5);
b6 = (Button) findViewById(R.id.b6);
b7 = (Button) findViewById(R.id.b7);
b8 = (Button) findViewById(R.id.b8);
b9 = (Button) findViewById(R.id.b9);
b0 = (Button) findViewById(R.id.b0);
badd = (Button) findViewById(R.id.add);
bsub = (Button) findViewById(R.id.sub);
bmul = (Button) findViewById(R.id.div);
bdiv = (Button) findViewById(R.id.mul);
bclr = (Button) findViewById(R.id.clr);
beq = (Button) findViewById(R.id.eq);
et = (EditText) findViewById(R.id.et);
b1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (et.equals("")) {
et.setText("1");
} else {
et.append("1");
}
}
});
b2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (et.equals("")) {
et.setText("2");
} else {
et.append("2");
}
}
});
b3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (et.equals("")) {
et.setText("3");
} else {
et.append("3");
}
}
});
b4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (et.equals("")) {
et.setText("4");
} else {
et.append("4");
}
}
});
b5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (et.equals("")) {
et.setText("5");
} else {
et.append("5");
}
}
});
b6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (et.equals("")) {
et.setText("6");
} else {
et.append("6");
}
}
});
b7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (et.equals("")) {
et.setText("7");
} else {
et.append("7");
}
}
});
b8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (et.equals("")) {
et.setText("8");
} else {
et.append("8");
}
}
});
b9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (et.equals("")) {
et.setText("9");
} else {
et.append("9");
}
}
});
b0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (et.equals("")) {
et.setText("0");
}
else {
et.append("0");
}
}
});
badd.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int a = Integer.parseInt(et.getText().toString());
et.setText("");
OP = 1;
}
});
bsub.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int a = Integer.parseInt(et.getText().toString());
et.setText("");
OP = 2;
}
});
bdiv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int a = Integer.parseInt(et.getText().toString());
et.setText("");
OP = 3;
}
});
bmul.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int a = Integer.parseInt(et.getText().toString());
et.setText("");
OP = 4;
}
});
bclr.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
et.setText("");
a=0;
b=0;
total=0;
OP=0;
}
});
beq.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
switch (OP){
case 1:
b= Integer.parseInt(et.getText().toString());
total=a+b;
et.setText(String.format("%d",total));
break;
case 2:
b= Integer.parseInt(et.getText().toString());
total=a-b;
et.setText(String.format("%d",total));
break;
case 3:
b= Integer.parseInt(et.getText().toString());
total=a/b;
et.setText(String.format("%d",total));
break;
case 4:
b= Integer.parseInt(et.getText().toString());
total=a*b;
et.setText(String.format("%d",total));
break;
}
}
});
}
}
に
bsub,badd,bdiv,bmul
で
int a = Integer.parseInt(et.getText().toString());
は 'のonClick()' 'beq'のために、あなたは' total'の値を確認することができます。 'System.out.println(total);'を実行してください。結果は 'System.out'のlogcatにあります –あなたは次のうちの1つ以上を試みることができます。ブレークポイントを追加してデバッグします。スイッチの前にOP aとbの値をチェックするトーストを追加します。トーストを発行するためにデフォルトを追加します。トーストと同様にLogコールを使用することができます。私の推測では、OPは1,2,3、または4になっていないということです。 – MikeT