首页 > 解决方案 > 如何使用编辑文本计算 Android 应用程序中的年龄

问题描述

我正在开发一个显示该地区酒吧特价的 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());
    }

标签: androidandroid-layoutandroid-edittext

解决方案


看起来您在完成这项任务方面还有很长的路要走。您可以简单地使用 DatePicker ( Android Date Picker Official Docs

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

创建接口。

public interface IOnItemClickListenerCountryStates {
    void onAgeClick(String Date);

}

推荐阅读