私はアンドロイドスタジオとJavaに新しいので、文章を簡単にします。 私はこれに新しいので、電卓(2番目のプログラム)などの簡単なプログラムを作りたかったのです。 コードは次のとおりです。アンドロイドスタジオはエラーは表示されませんが、コードがクラッシュします
package com.example.mikus.calc;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
private static int task = 0;
private static String in1 = "0";
private static String in2 = "0";
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button bt1 = (Button) findViewById(R.id.bt1);
Button bt2 = (Button) findViewById(R.id.bt2);
Button bt3 = (Button) findViewById(R.id.bt3);
Button bt4 = (Button) findViewById(R.id.bt4);
Button bt5 = (Button) findViewById(R.id.bt5);
Button bt6 = (Button) findViewById(R.id.bt6);
Button bt7 = (Button) findViewById(R.id.bt7);
Button bt8 = (Button) findViewById(R.id.bt8);
Button bt9 = (Button) findViewById(R.id.bt9);
Button bt0 = (Button) findViewById(R.id.bt0);
Button btdot = (Button) findViewById(R.id.btdot);
Button btdevide = (Button) findViewById(R.id.btdevide);
Button bttimes = (Button) findViewById(R.id.bttimes);
Button btminus = (Button) findViewById(R.id.btminus);
Button btplus = (Button) findViewById(R.id.btplus);
Button btequals = (Button) findViewById(R.id.btequals);
final TextView txt = (TextView) findViewById(R.id.textView);
bt1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = txt.getText() + "1";
txt.setText(text);
}
});
bt2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = txt.getText() + "2";
txt.setText(text);
}
});
bt3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = txt.getText() + "3";
txt.setText(text);
}
});
bt4.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = txt.getText() + "4";
txt.setText(text);
}
});
bt5.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = txt.getText() + "5";
txt.setText(text);
}
});
bt6.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = txt.getText() + "6";
txt.setText(text);
}
});
bt7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = txt.getText() + "7";
txt.setText(text);
}
});
bt8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = txt.getText() + "8";
txt.setText(text);
}
});
bt9.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = txt.getText() + "9";
txt.setText(text);
}
});
bt0.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = txt.getText() + "0";
txt.setText(text);
}
});
btdot.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String text = txt.getText() + ".";
txt.setText(text);
}
});
btequals.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int a = Integer.parseInt(in1);
in2 = txt.getText().toString();
int b = Integer.parseInt(in2);
if(task == 1){
txt.setText(a + b);
}
if(task == 2){
txt.setText(a - b);
}
if(task == 3){
txt.setText(a * b);
}
if(task == 4){
txt.setText(a/b);
}
}
});
btplus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
task = 1;
in1 = txt.getText().toString();
txt.setText("");
}
});
btminus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
task = 2;
in1 = txt.getText().toString();
txt.setText("");
}
});
bttimes.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
task = 3;
in1 = txt.getText().toString();
txt.setText("");
}
});
btdevide.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
task = 4;
in1 = txt.getText().toString();
txt.setText("");
}
});
}
}
私はアンドロイドのスタジオでそれをコンパイルし、それにはエラーがなく、私は自分の携帯電話上でそれを実行し、私は押したときに、それだけでクラッシュ等しい(私はしようとして追加し、don`ています。整数や小数点以下を小数点以下に追加することができないことを伝えてください。ちなみにどのボタンがどの名前に対応しているのか間違いはありません。レイアウトは携帯電話のデフォルト電卓と同じです。 BTは、ボタンの略で、番号または名前は、ボタンがあるか、それが
また、ログ文字を投稿してください。cat 'toString' = txt.getText()。toString()+ "1"; ' – Redman
なぜ" to "文字列型を処理しているので、取得したテキストをtxt.getText()から文字列型に変換します。私が何かについて間違っている場合は、コメントを投稿してください。 –