如何使用编辑文本在Android应用程序中计算年龄

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

我正在开发一个Android应用程序,显示该区域的酒吧特价,我想确保使用我们的应用程序的唯一用户是21岁以上。我使用编辑文本创建了登录/注册活动,并将输入到编辑文本中的信息发送到mySQL数据库。

我已经在youtube / stack overflow / google上搜索了有关这方面的帮助,我只找到了datepicker教程。我不确定如何使用编辑文本将datepicker教程实现到我的项目中。

这是我的RegisterActivity.java文件的一部分,我想在用户点击注册时验证数据。我已经弄清楚如何验证电子邮件/密码,但不知道如何在我的代码中添加日期差异。我还添加了我调用的submitForm函数....

我不确定输出应该是什么样的,或者如何在我的项目中实现年龄验证,因为我仍然是使用Android Studio的新手,我对如何最好地将其实现到我的项目中的新想法等开放。

这是我的RegisterActivity.java文件的一部分,我想在用户点击注册时验证数据。我已经弄清楚如何验证电子邮件/密码,但不知道如何在我的代码中添加日期差异。我还添加了我调用的submitForm函数....

buttonSignup.setOnClickListener(new View.OnClickListener() {
@Override
            public void onClick(View view) {

                String email = signupInputEmail.getText().toString();
                String password = signupInputPassword.getText().toString();
                if (password.length()< 8){
                    signupInputPassword.setError("Your password must be at least 8 characters");
                }else if (!Patterns.EMAIL_ADDRESS.matcher(email).matches()) {
                    signupInputEmail.setError("You must enter a valid email address");
                } else {

                    submitForm();
                }

            }
        });

提交表格()

private void submitForm() {

        int selectedId = genderRadioGroup.getCheckedRadioButtonId();
        String gender;
        if(selectedId == R.id.female_radio_btn)
            gender = "Female";
        else
            gender = "Male";

        registerUser(signupInputName.getText().toString(),
                signupInputEmail.getText().toString(),
                signupInputPassword.getText().toString(),
                gender,
                signup_input_DOB.getText().toString());
    }
android android-layout android-edittext
2个回答
2
投票

将注册输入中的出生日期从字符串转换为日期,如下所示:

String DOB = signup_input_DOB.getText().toString(); 

Date dateOfBirth=new SimpleDateFormat("dd/MM/yyyy").parse(DOB);  

然后将出生日期传递给计算年龄的方法:

int age = currentDate.getYear() - dateOfBirth.getYear();

1
投票

看起来你正在完成这项任务。你可以简单地使用DatePicker(Android Date Picker Official Docs

并设置日期的选择范围,在TextView上设置所选日期(由用户)。用于处理click事件的用户界面。

创建界面。

public interface IOnItemClickListenerCountryStates {
    void onAgeClick(String Date);

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