java应用程序在尝试验证空字段时崩溃,错误为“无法执行安卓:onClick的方法”
我试图创建空字段验证,如果用户不输入任何字符串/整数,只需按下按钮,他将收到弹出窗口,说明该字段为空
我将感谢任何帮助
见下面我的代码:
...
public void clickCheck (View view) {
EditText editText = (EditText) findViewById(R.id.userType);
Integer userNum = Integer.parseInt(editText.getText().toString());
String userField = editText.getText().toString().trim();
String message = "";
if (userField.isEmpty()) {
message = "please input something!!!!!";
} else {
Shape mynumber = new Shape();
mynumber.number = userNum;
if ((mynumber.isSquareNum() == true) && (mynumber.isTriangularNum() == false)) {
makeToast("The number " + userNum + " is a Square number.");
} else if ((mynumber.isSquareNum() == false) && (mynumber.isTriangularNum() == true)) {
makeToast("The number " + userNum + " is a Triangular number.");
} else if ((mynumber.isSquareNum() == false) && (mynumber.isTriangularNum() == false)) {
makeToast("The number " + userNum + " is a not Square or Triangular shape");
} else if ((mynumber.isSquareNum() == true) && (mynumber.isTriangularNum() == true)) {
makeToast("The number " + userNum + " is both Square & Triangular shapes");
}
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
# 1 楼答案
谢谢@Hakob你的建议很有效。 事后我的问题是因为我的Toast命令没有正确定义
所以我有这样一条消息:“请输入一些东西!”
我改为:makeToast(“请输入一些东西!!!”)
实际上,我根本没有定义Toast命令,所以应用程序不理解它应该弹出一条消息:)
再次感谢你的帮助
# 2 楼答案
这个问题与
它可能会抛出NumberFormatException,直到验证后才能到达
你可以这样试试