【发布时间】:2021-07-29 16:01:48
【问题描述】:
所以,当我在密码 EditText 中输入我的文本后,它不会被保存。但是其余的 EditText 输入效果很好。我对密码 EditText 做错了什么? 我尽我所能,但我总是得到空密码。
公共类 MainActivity 扩展 AppCompatActivity {
public Spinner countriesList ;
public Button btnRegistration, pickImgBtn;
private ConstraintLayout mainConstrain;
private EditText name , email, password, reEnterPassword;
private CheckBox iAgree;
public RadioGroup radioGroup;
private static final int PICK_IMAGE = 100;
private ImageView imageView;
private Uri imageUri;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
countriesList=findViewById(R.id.countrySpinnerId);
mainConstrain=findViewById(R.id.mainConstrainId);
btnRegistration=findViewById(R.id.btnRegisterId);
pickImgBtn=findViewById(R.id.pickImgBtnId);
//Input
name=findViewById(R.id.nameId);
email=findViewById(R.id.emailId);
password=findViewById(R.id.passwordId);
reEnterPassword=findViewById(R.id.reEnterPasswordId);
radioGroup=findViewById(R.id.radioGroupId);
//CheckBox
iAgree=findViewById(R.id.iAgreeId);
imageView=findViewById(R.id.imageView);
setCountriesList(countriesList);
btnRegistration.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showSnackbar("You have registered: ");
checkInputData(radioGroup,iAgree,password,reEnterPassword,name,email);
addNewPeople(name,email,password,countriesList,radioGroup);
setStartData(name,email,password,reEnterPassword,iAgree);
}
});
这是代码的第二部分!
public void addNewPeople(EditText name, EditText email, EditText password,Spinner contries, RadioGroup group) {
if (!(name.getText().toString().equals("")) && !(email.getText().toString().equals("")) && !(password.getText().toString().equals("")))
SecondaryActivity.peoples.add(new People(name.getText().toString(), email.getText().toString(),password.getText().toString(),contries.getSelectedItem().toString() , group.getCheckedRadioButtonId()));
else
showSnackbar("Fill all fields");
}
这是点击按钮后设置数据为空的代码。
private void setStartData(EditText name,EditText email,EditText password, EditText reEnterPassword, CheckBox iAgree) {
name.setText("");
email.setText("");
password.setText("");
reEnterPassword.setText("");
iAgree.setChecked(false);
}
private void checkInputData(RadioGroup radioGroup,CheckBox iAgree, EditText password, EditText reEnterPassword,EditText name,EditText email) {
if (radioGroup.getCheckedRadioButtonId() == -1 )
radioGroup.setBackgroundColor(Color.RED);
if (radioGroup.getCheckedRadioButtonId() != -1 )
radioGroup.setBackgroundColor(Color.TRANSPARENT);
if (!(iAgree.isChecked()))
iAgree.setTextColor(Color.RED);
if (iAgree.isChecked())
iAgree.setTextColor(Color.BLACK);
// is Password same
if (password.getText().toString().equals(reEnterPassword.getText().toString())) {
password.setText("");
reEnterPassword.setText("");
password.setHint("Password are not same");
password.setHintTextColor(Color.RED);
}
//Input name, email and pass emptiness check
if (name.getText().toString().equals("")) {
name.setHint("Unesi ime");
name.setHintTextColor(Color.RED);
}else{
name.setHintTextColor(Color.GRAY);
}
if (email.getText().toString().equals("")){
email.setHint("Unesi email");
email.setHintTextColor(Color.RED);
}
else{
email.setHintTextColor(Color.GRAY);
}
if (password.getText().toString().equals("")){
password.setHint("Unesi password.....");
password.setHintTextColor(Color.RED);
}
else{
password.setHintTextColor(Color.GRAY);
}
}
希望有人能帮忙
【问题讨论】:
标签: java android android-edittext gettext