gpt4 book ai didi

java - 想要在 edittext fragment 中添加验证

转载 作者:行者123 更新时间:2023-12-01 16:17:34 25 4
gpt4 key购买 nike

我想在 Edittext 中添加验证。我正在粘贴一些代码。
实际上我只想进行简单的验证(该字段不能为空)。我已经创建了近 10 个编辑文本和 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 方法更改为:

public void onClick(View v) {
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;
}

如果所有 EditText 内容都可接受,则应仅返回 true

在提出原因 Toast 后,逐一检查 EditText,如果内容 Not Acceptable ,则返回 false。

关于java - 想要在 edittext fragment 中添加验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62363566/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com