我是android开发新手,并做了一个简单的计算器项目.但是,我的应用程序不断崩溃,我不明白为什么.请帮忙
Java代码:
package com.example.zhiwen.calculator;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
Button plus,minus,times,divide;
TextView textview3;
EditText first, second;
double no1 = 0, no2 = 0;
double answer = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
plus = (Button) findViewById(R.id.plus);
minus = (Button) findViewById(R.id.minus);
times = (Button) findViewById(R.id.times);
divide = (Button) findViewById(R.id.divide);
textview3 = (TextView) findViewById(R.id.textview3);
first = (EditText) findViewById(R.id.editText);
second = (EditText) findViewById(R.id.editText2);
}
public void ClickMeButton(View view){
no1 = Integer.parseInt(first.toString());
no2 = Integer.parseInt(second.toString());
answer = no1 + no2;
textview3.setText("Answer: " + answer);
}
public void ClickMeButton2(View view) {
no1 = Integer.parseInt(first.toString());
no2 = Integer.parseInt(second.toString());
answer = no1 - no2;
textview3.setText("Answer: " + answer);
}
public void ClickMeButton3(View view) {
no1 = Integer.parseInt(first.toString());
no2 = Integer.parseInt(second.toString());
answer = no1 * no2;
textview3.setText("Answer: " + answer);
}
public void ClickMeButton4(View view) {
no1 = Integer.parseInt(first.toString());
no2 = Integer.parseInt(second.toString());
answer = no1 / no2;
textview3.setText("Answer: " + answer);
}}
Run Code Online (Sandbox Code Playgroud)
我想再说一次,我对发展很陌生,它崩溃的原因可能是一个小错误.先感谢您
堆栈跟踪:
E/AndroidRuntime:FATAL EXCEPTION:main进程:com.example.zhiwen.calculator,PID:2027 java.lang.IllegalStateException:无法执行android的方法:onClick at android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick( AppCompatViewInflater.java:293)在Android.widget.TextView.performClick(TextView.java)的android.view.View.performClick(View.java:6207)11094)在android.view.Handler.dispatchMessage(Handler.java:95)的android.view.View $ PerformClick.run(View.java:23639)android.os.Handler.handleCallback(Handler.java:751) android.os.Looper.loop(Looper.java:154)位于java.lang.reflect.Method的android.app.ActivityThread.main(ActivityThread.java:6688).com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1468)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)中调用(Native Method)引起:java.位于android.support.v7.app.AppCompatViewInflater的java.lang.reflect.Method.invoke(Native Method)中的lang.reflect.InvocationTargetException $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)在android.view.View.performClick(View.java:6207)的android.widget.TextView.performClick(TextView.java:11094)android.view.View $ PerformClick.run(View.java:23639)at at android.os.Handler.handleCallback(Handler.java:751)在android.os.Handler.dispatchMessage(Handler.java:95)android.os.Looper.loop(Looper.java:154)在android.app.ActivityThread.main(ActivityThread.java:6688)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java: 1468)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)引起:java.lang.NumberFormatException:对于输入字符串:"android.support.v7.widget.AppCompatEditText {271441f VFED..CL ........ 0,57-441,193#7f0b0063 app:id/editText}"at java.lang.Integer.parseInt(Integer.java:521)at java.lang.Integer.parseInt(Integer.java:556)at com.example.zhiwen.calculator.MainActivity.ClickMeButton(MainActivity. java:33)at java.lang.reflect.Method.invoke(Native Method)at android.support.v7.app.AppCompatViewInflater $ DeclaredOnClickListener.onClick(AppCompatViewInflater.java:288)在android.view.View.performClick(View.java:6207)的android.widget.TextView.performClick(TextView.java:11094)android.view.View $ PerformClick.run(View.java:23639)at at android.os.Handler.handleCallback(Handler.java:751)在android.os.Handler.dispatchMessage(Handler.java:95)android.os.Looper.loop(Looper.java:154)在android.app.ActivityThread.main(ActivityThread.java:6688)at java.lang.reflect.Method.invoke(Native Method)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java: 1468)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1468)中调用(Native Method)在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1358)的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1468)中调用(Native Method)
你想改变
no1 = Integer.parseInt(first.toString());
Run Code Online (Sandbox Code Playgroud)
至
no1 = Integer.parseInt(first.getText ().toString());
Run Code Online (Sandbox Code Playgroud)
同样的 second
| 归档时间: |
|
| 查看次数: |
128 次 |
| 最近记录: |