我想在Edittext中添加验证。我正在粘贴一些代码。实际上,我只想要简单的验证(该字段不能为空)。我创建了将近10个edittext和1个微调器。
package com.example.ncaputtarakhand;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.Toast;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.fragment.app.Fragment;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
public class ComplainFragment extends Fragment {
EditText Name, Mobile, Email, Adhar, ComplainRelated, Complain, Locality, Landmark, Pincode, Username;
Button btn;
Spinner spinner;
DatabaseReference reff;
Complain complain;
@Nullable
@Override
public View onCreateView(@NonNull final LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_complain, container, false);
Name = (EditText) view.findViewById(R.id.name);
Mobile = (EditText) view.findViewById(R.id.mobile);
Email = (EditText) view.findViewById(R.id.email);
Adhar = (EditText) view.findViewById(R.id.adhar);
ComplainRelated = (EditText) view.findViewById(R.id.related);
Complain = (EditText) view.findViewById(R.id.complainhere);
Locality = (EditText) view.findViewById(R.id.location);
Landmark = (EditText) view.findViewById(R.id.landmark);
Pincode = (EditText) view.findViewById(R.id.pincode);
Username = (EditText) view.findViewById(R.id.username);
spinner = (Spinner) view.findViewById(R.id.spin);
btn = (Button) view.findViewById(R.id.buttonsend);
complain = new Complain();
reff = FirebaseDatabase.getInstance().getReference().child("Complain");
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
complain.setName(Name.getText().toString().trim());
complain.setNumber(Mobile.getText().toString().trim());
complain.setEmail(Email.getText().toString().trim());
complain.setAdharNo(Adhar.getText().toString().trim());
complain.setComplainRelated(ComplainRelated.getText().toString().trim());
complain.setComplain(Complain.getText().toString().trim());
complain.setLocality(Locality.getText().toString().trim());
complain.setLandmark(Landmark.getText().toString().trim());
complain.setPincode(Pincode.getText().toString().trim());
complain.setUsername(Username.getText().toString().trim());
complain.setSpinner(spinner.getSelectedItem().toString().trim());
reff.push().setValue(complain);
Toast.makeText(ComplainFragment.super.getContext(), "Complain Register Successfully", Toast.LENGTH_LONG).show();
}
});
Spinner spinner = (Spinner) view.findViewById(R.id.spin);
// Creating an Array Adapter to populate the spinner with the data in the string resources
ArrayAdapter<CharSequence> spinnerAdapter = ArrayAdapter.createFromResource(getContext(), R.array.locationn, android.R.layout.simple_spinner_item);
// Specify the layout to use when the list of choices appears
spinnerAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// Apply the adapter to the spinner
spinner.setAdapter(spinnerAdapter);
///database
return view;
}
}
将onClick
方法更改为:
if(inputIsValid()) {
...
}
将该方法的所有当前内容移到上面的大括号中。
创建新方法:
private boolean inputIsValid() {
if(Email == null || Email.getText().toString().trim().length() < 7 || !EmailValidator.getInstance(false).isValid(Email.getText().toString().trim())) {
Toast.makeText(getContext(), "Please enter a valid email address.", Toast.LENGTH_LONG).show();
return false;
}
if(Username ... ) {
Toast ...
return false;
}
return true;
}
仅在可接受所有true
内容的情况下才返回EditText
。
在有理由提出EditText
之后,如果内容不可接受,请逐一返回Toast
,然后返回false。