为了账号安全,请及时绑定邮箱和手机立即绑定

有空字段时创建对话框

有空字段时创建对话框

慕虎7371278 2021-12-01 19:53:04
我一直在努力解决这个问题,每当我的应用程序中有一个空字段时,它就会使我的应用程序崩溃。当我运行代码时,它告诉我第 32 行和第 37 行有错误,就在我将字符串从 textView 转换为整数以对这些数字进行操作的地方如果你们能看看这个就太好了。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);
查看完整描述

3 回答

?
呼如林

TA贡献1798条经验 获得超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);


就是这样。


查看完整回答
反对 回复 2021-12-01
?
尚方宝剑之说

TA贡献1788条经验 获得超4个赞

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

int numeroBase = Integer.parseInt(base);


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

int numeroAltura = Integer.parseInt(altura);

您不能.parseInt对空字符串执行。这当然会导致崩溃。您必须先检查空字符串。


查看完整回答
反对 回复 2021-12-01
?
慕妹3146593

TA贡献1820条经验 获得超9个赞

尝试这个

AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this);


查看完整回答
反对 回复 2021-12-01
  • 3 回答
  • 0 关注
  • 156 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信