当前位置: 首页 > 知识库问答 >
问题:

我的应用程序在我点击一个按钮后一直崩溃[重复]

陆子航
2023-03-14

我一直在自己编程一个应用程序,但每次我点击一个按钮,它就会遇到一些问题(因为问题出在它的OnCreate方法上)。我把它缩小到我认为是什么原因,似乎是这条线:

int desitky_tom = Integer.parseInt(et_tom.getText().toString());
2019-02-07 16:51:16.272 2794-2794/? E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.mariaspocitadlo, PID: 2794
java.lang.NumberFormatException: For input string: ""
    at java.lang.Integer.parseInt(Integer.java:620)
    at java.lang.Integer.parseInt(Integer.java:643)
    at com.example.mariaspocitadlo.MainActivity$1.onClick(MainActivity.java:41)
    at android.view.View.performClick(View.java:6897)
    at android.widget.TextView.performClick(TextView.java:12693)
    at android.view.View$PerformClick.run(View.java:26101)
    at android.os.Handler.handleCallback(Handler.java:789)
    at android.os.Handler.dispatchMessage(Handler.java:98)
    at android.os.Looper.loop(Looper.java:164)
    at android.app.ActivityThread.main(ActivityThread.java:6944)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:327)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1374)
final Button spocitat = (Button) findViewById(R.id.button);
    spocitat.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //editext Toma na desítky Toma
            EditText et_tom = (EditText)findViewById(R.id.editText);
            int desitky_tom = Integer.parseInt(et_tom.getText().toString());

            TextView txtview = (TextView)findViewById(R.id.textView_tom);
            String str = Double.toString(desitky_tom);
            txtview.setText(str);
            //editext Táty na desítky Táty
            EditText et_tat = (EditText)findViewById(R.id.editText2);
            int desitky_tat = Integer.parseInt(et_tat.getText().toString());
            //editext Kuby na desítky Kuby
            EditText et_kub = (EditText)findViewById(R.id.editText3);
            int desitky_kub = Integer.parseInt(et_kub.getText().toString());

            int desitky_vitez = 0;
            int body_tom = 0;
            int body_tat = 0;
            int body_kub = 0;
            int body_viteze = 0;

共有1个答案

归泽宇
2023-03-14

从LogCat判断,输入的字符串是“”。(LogCat中的第3行)。因此它不是一个数字,不能转换为int。您应该确保输入了一个数字,以阻止崩溃,在您的代码周围使用trycatch如下所示:

try {
 EditText et_tom = (EditText)findViewById(R.id.editText);
 int desitky_tom = Integer.parseInt(et_tom.getText().toString());
} catch (Exception e) { System.out.println(e.toString()); }

除此之外,循环输入并确保输入的文本仅来自一个数组。

 类似资料:
  • 当我在设备上运行应用程序时单击增量按钮时,我的应用程序意外地强制执行这是我的activity_main.xml代码 这是我的mainactivity.java文件 这是调试报告05-23 22:14:45.695 297 36-29736/com.orton.birthdayCard E/AndroidRuntime:致命异常:主进程:com.orton.birthdayCard,PID:2973

  • 我多次尝试让developers.android(https://developer.android.com/training/basics/firstapp/index.html)上的MyFirstApp教程中的应用程序发挥作用。我正在Nexus4设备上测试我的代码,该设备装有Android 4.4.2 AndroidManifest.xml: MainActivity.java Display

  • 我的应用程序在点击按钮后崩溃。一些请帮助我制作的应用程序是用于表格的。但不幸的是,该应用程序在按钮点击强文本后崩溃 包裹通讯。实例CH1practicemulti;

  • 我的应用程序出了问题,按下任何一个按钮都会崩溃。 它在我的logcat中给出了这个错误: E/AndroidRuntime:致命异常:main process:com.example.admin.myapplication,PID:14892 Android.content.res.resources$NOTFoundException:String resource ID#0x3b5at and

  • 一切正常,应用程序出现了。但当我点击任何切换按钮时,应用程序就会崩溃。 我试过了,但找不到问题。其实我的知识还不够,我是这个领域的新手。所以请帮帮我。 这是查看活动。JAVA 还有这只logcat 2020-03-18 03:16:50.407 31609-31609/? E/lpaper。wallper:运行时设置的未知位_标志:0x8000 2020-03-18 03:17:04.862 31

  • 我是android新手,我正在学习一些教程,在这一点上,当我点击登录按钮时,应用程序不断崩溃。当我运行应用程序并单击登录按钮时,应用程序崩溃,在logcat中,它显示java RuntimeException的这个错误。这是我的logcat,loginactivity。xml和loginactivity。JAVA JAVAlang.RuntimeException:无法启动活动组件信息{com.e