0
我試圖做一個簡單的計算器,但我得到一個錯誤。這是我的代碼。循環內arraylist中的錯誤java.lang.IllegalStateException:無法執行android的方法:onClick
public class MainActivity extends AppCompatActivity {
TextView tvInput;
String textcontent = "";
String input = "";
ArrayList<Integer> number = new ArrayList<Integer>();
ArrayList<Character> operator = new ArrayList<Character>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
tvInput= (TextView) findViewById(R.id.textView_input);
}
public void btn1(View view) {
input = input + "1";
tvInput.setText(input);
}
public void btn3(View view) {
input = input + "3";
tvInput.setText(input);
}
public void btn2(View view) {
input = input + "2";
tvInput.setText(input);
}
public void btn0(View view) {
input = input + "0";
tvInput.setText(input);
}
public void btn7(View view) {
input = input + "7";
tvInput.setText(input);
}
public void btn8(View view) {
input = input + "8";
tvInput.setText(input);
}
public void btn9(View view) {
input = input + "9";
tvInput.setText(input);
}
public void btn5(View view) {
input = input + "5";
tvInput.setText(input);
}
public void btn6(View view) {
input = input + "6";
tvInput.setText(input);
}
public void btnSub(View view) {
number.add(Integer.parseInt(tvInput.getText().toString()));
tvInput.setText("-");
operator.add('-');
input = "";
}
public void btnMul(View view) {
number.add(Integer.parseInt(tvInput.getText().toString()));
tvInput.setText("*");
operator.add('*');
input = "";
}
public void btnDiv(View view) {
number.add(Integer.parseInt(tvInput.getText().toString()));
tvInput.setText("/");
operator.add('/');
input = "";
}
public void btn4(View view) {
input = input + "4";
tvInput.setText(input);
}
public void btnAdd(View view) {
number.add(Integer.parseInt(tvInput.getText().toString()));
tvInput.setText("+");
operator.add('+');
input = "";
}
public void btnEqual(View view) {
int result = 0;
for(int i = 1; i <= number.size(); i++) {
result = number.get(i - 1);
if(operator.get(i - 1) == '+')
result = result+number.get(i); //error is here
tvInput.setText("" + result);
}
}
}
我認爲錯誤的,因爲循環中的結果變化VAR ..
這是錯誤:
java.lang.IllegalStateException: Could not execute method for android:onClick
問題出在哪裏? 解決方案是什麼?
我在代碼中看不到任何onClick方法;它可能是必需的。也許考慮發佈整個堆棧跟蹤,而不是你認爲可能至關重要的部分 – planetmaker
請附上你的整個錯誤堆棧跟蹤。但我有一種感覺,問題在於你連接xml文件中按鈕的onclick。你應該有'onClick =「btn1()」'' – Siavash