[英]check empty value in edit text
i get error when i want to check empty value in edittext that I create. 当我要检查我创建的edittext中的空值时出现错误。 It become error to my source code 变成我的源代码错误
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String code = etCode.getText().toString();
String name = etName.getText().toString();
float price = Float.parseFloat(etPrice.getText().toString());
int qty = Integer.parseInt(etQty.getText().toString());
if(code.length() != 0 && name.length() != 0 && price.length() != 0 && qty.length() != 0){
myDB.addData(code, name, price, qty);
etCode.setText("");
etName.setText("");
etPrice.setText("");
etQty.setText("");
}else{
Toast.makeText(MainActivity.this,"You must put something in the text field!",Toast.LENGTH_LONG).show();
}
}
});
How to solve my problem ? 如何解决我的问题?
try using 尝试使用
TextUtils.isEmpty(editText.getText().toString());
normally you can never have a null come out of a text field but you check if its empty with the above line. 通常,您永远不会在文本字段中出现null,但请在上面的行中检查它是否为空。 so both "" and null will give you back a true 因此“”和null都将为您返回true
I believe your error java.lang.NumberFormatException: Invalid float: ""
我相信您的错误java.lang.NumberFormatException: Invalid float: ""
that is because you are trying to convert empty value to float
. 那是因为您试图将空值转换为float
。
you can do as follow. 您可以按照以下步骤进行。
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String code = etCode.getText().toString();
String name = etName.getText().toString();
String price = etPrice.getText().toString();
String qty = etQty.getText().toString();
if(code.isEmpty() && name.isEmpty() && price.isEmpty() && qty.isEmpty(){
float price1 = Float.parseFloat(etPrice.getText().toString());
int qty1 = Integer.parseInt(etQty.getText().toString());
myDB.addData(code, name, price1, qty1);
etCode.setText("");
etName.setText("");
etPrice.setText("");
etQty.setText("");
}else{
Toast.makeText(MainActivity.this,"You must put something in the text field!",Toast.LENGTH_LONG).show();
}
}
});
Use the 使用
if (TextUtils.isEmpty(edittext.getText().toString()) {
Log.d("ERROR","Edittext is empty");
}
You can check that way 你可以这样检查
if(etCode.getText().toString().trim().equalsIgnoreCase(""))
{
// etCode edittext is empty
}
Try this 尝试这个
/*
* for checking String valid or not
*/
public boolean validateString(String data) {
return (data != null && !data.isEmpty() && data.length() > 0 && !data.equals("null"));
}
if(validateString(edittext.getText().toString()){
//Valid String
}
Try this: 尝试这个:
btnSave.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { String code = etCode.getText().toString(); String name = etName.getText().toString(); float price = Float.parseFloat(etPrice.getText().toString()); int qty = Integer.parseInt(etQty.getText().toString()); if(code.length() != 0 && name.length() != 0 && price != 0 && qty != 0){ myDB.addData(code, name, price, qty); etCode.setText(""); etName.setText(""); etPrice.setText(""); etQty.setText(""); }else{ Toast.makeText(MainActivity.this,"You must put something in the text field!",Toast.LENGTH_LONG).show(); } } });
You can try like this: 您可以这样尝试:
btnSave.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String code = etCode.getText().toString();
String name = etName.getText().toString();
String priceStr = etPrice.getText().toString();
String qtyStr = etQty.getText().toString();
float price;
int qty;
if(code.length()==0) {
Toast.makeText(MainActivity.this,"Your code is empty!",Toast.LENGTH_LONG).show();
}
if(name.length()==0) {
Toast.makeText(MainActivity.this,"Your name is empty!",Toast.LENGTH_LONG).show();
}
if(priceStr.length()==0) {
Toast.makeText(MainActivity.this,"Your price is empty!",Toast.LENGTH_LONG).show();
}else {
try {
price = Float.parseFloat(priceStr);
}catch (Exception e) {
Toast.makeText(MainActivity.this,"Your price is not valid!",Toast.LENGTH_LONG).show();
}
}
if(qtyStr.length()==0) {
Toast.makeText(MainActivity.this,"Your qty is empty!",Toast.LENGTH_LONG).show();
}else {
try {
qty = Integer.parseInt(qtyStr);
}catch (Exception e) {
Toast.makeText(MainActivity.this,"Your qty is not valid!",Toast.LENGTH_LONG).show();
}
}
myDB.addData(code, name, price, qty);
etCode.setText("");
etName.setText("");
etPrice.setText("");
etQty.setText("");
}
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.