Я создал приложение простого сложения. Вот код, приведенный ниже ..
package com.example.helloworld;
import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.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 {
private EditText num1;
private EditText num2;
private Button add;
private TextView ans;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
num1=(EditText)findViewById(R.id.etNum1);
num2=(EditText)findViewById(R.id.etNum2);
add=(Button)findViewById(R.id.btn);
ans=(TextView)findViewById(R.id.tvans);
add.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try{
Integer number1 = Integer.parseInt(num1.getText().toString());
Integer number2 = Integer.parseInt(num2.getText().toString());
int sum = number1 + number2;
ans.setText("Answer is " + Integer.toString(sum));
}
catch (NumberFormatException e){
e.printStackTrace();
}
}
});
}
}
В приведенном выше коде, если число 1 или номер 2 пусто, я должен вызвать всплывающее окно с сообщением «Введите два значения ".. Но всякий раз, когда я даю любое (число 1 или число 2) как пустое, я получаю ошибку ниже. Может ли кто-нибудь предложить мне решение, чтобы вместо ошибки появлялось окно с предупреждением.
W/System.err: java.lang.NumberFormatException: For input string: ""
W/System.err: at java.lang.Integer.parseInt(Integer.java:627)
at java.lang.Integer.parseInt(Integer.java:650)
at com.example.helloworld.MainActivity$1.onClick(MainActivity.java:33)
at android.view.View.performClick(View.java:6614)
at android.view.View.performClickInternal(View.java:6587)
at android.view.View.access$3100(View.java:787)
at android.view.View$PerformClick.run(View.java:26122)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:201)
at android.app.ActivityThread.main(ActivityThread.java:6831)
at java.lang.reflect.Method.invoke(Native Method)
W/System.err: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.ru`enter code here`n(RuntimeInit.java:547)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:927)