希望在Edittext片段中添加验证

问题描述 投票:0回答:1

我想在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;
    }
}
java android android-edittext
1个回答
0
投票

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。

© www.soinside.com 2019 - 2024. All rights reserved.