有空字段时创建对话框

我一直在努力解决这个问题,每当我的应用程序中有一个空字段时,它就会使我的应用程序崩溃。

当我运行代码时,它告诉我第 32 行和第 37 行有错误,就在我将字符串从 textView 转换为整数以对这些数字进行操作的地方

http://img1.mukewang.com/61a76239000174d812940477.jpg

如果你们能看看这个就太好了。


package com.studium.second.secondtest;


import android.app.Activity;

import android.app.AlertDialog;

import android.content.DialogInterface;

import android.os.Bundle;

import android.view.View;

import android.widget.Button;

import android.widget.TextView;


public class MainActivity extends Activity {


    Activity miActividad;


    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);


        miActividad = this;



        Button calcular = findViewById(R.id.button1);


        calcular.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {


                TextView textoBase = findViewById(R.id.areaBase);

                String base = textoBase.getText().toString();

                int numeroBase = Integer.parseInt(base);



                TextView textoAltura = findViewById(R.id.areaAltura);

                String altura = textoAltura.getText().toString();

                int numeroAltura = Integer.parseInt(altura);


                //Operación

                final TextView cajaResultado = findViewById(R.id.areaResultado);


                final int operacion = numeroAltura * numeroBase;

                cajaResultado.setText(getResources().getString(R.string.textoResultado ) + " " + operacion);


慕虎7371278
浏览 157回答 3
3回答

呼如林

解决方案:在这行之前int numeroBase = Integer.parseInt(base);写这个:if (base.contentEquals("")) {    Toast.makeText(MainActivity.this, "Please enter a value in Base", Toast.LENGTH_SHORT).show;else {    int numeroBase = Integer.parseInt(base);    ....}并对这一行做同样的事情: int numeroAltura = Integer.parseInt(altura);就是这样。

尚方宝剑之说

String base = textoBase.getText().toString();int numeroBase = Integer.parseInt(base);String altura = textoAltura.getText().toString();int numeroAltura = Integer.parseInt(altura);您不能.parseInt对空字符串执行。这当然会导致崩溃。您必须先检查空字符串。

慕妹3146593

尝试这个AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java