我试图创建一个空字段验证,如果用户不输入任何StringInteger,只需按下按钮,他就会收到弹出窗口,说明该字段为空。
I would appriciate any help.
请看我下面的代码。
...
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);
}
}
这个问题与
Integer userNum = Integer.parseInt(editText.getText().toString());
它可能会使 NumberFormatException 而你要等到验证后才会到达。
你可以试试这样
public void clickCheck (View view) {
EditText editText = (EditText) findViewById(R.id.userType);
String userField = editText.getText().toString().trim();
String message = "";
if (userField.isEmpty()) {
message = "please input something!!!!!";
} else {
Shape mynumber = new Shape();
Integer userNum;
try {
userNum = Integer.parseInt(editText.getText().toString());
}catch (NumberFormatException ex) {
message = "Not an integer";
}
mynumber.number = userNum;
...
}
}
谢谢 @Hakob 你的建议非常好.我的问题是由于我的Toast命令没有被正确定义。
所以我有这样的: message = "please input something!!!!".我改成: makeToast("please input something!!!");
然后我改成了:makeToast("please input something!!!")。
实际上我根本没有定义Toast命令,所以应用程序不理解它应该弹出一个消息:)。
再次感谢大家的帮助。