Android 如何控制ParseLoginUI中的用户名输入?

Android 如何控制ParseLoginUI中的用户名输入?,android,parse-platform,Android,Parse Platform,我使用ParseLoginUI允许用户使用我的应用程序创建帐户并登录。如图所示: 然而,按照当前的配置,用户可以创建像“ab”这样的用户名,Parse认为这很好。使用ParseLoginUI的大多数定制都可以通过AndroidManifest.xml中的元数据来完成,但我在文档中没有找到任何用于控制输入的内容。有没有办法控制这个输入?示例:不允许空格字符根据文档,您有三个选项: 自定义登录库 有三种方法可以自定义登录库: AndroidManifest.xml中的活动元数据-这是最推荐的 因为

我使用ParseLoginUI允许用户使用我的应用程序创建帐户并登录。如图所示:


然而,按照当前的配置,用户可以创建像“ab”这样的用户名,Parse认为这很好。使用ParseLoginUI的大多数定制都可以通过
AndroidManifest.xml
中的
元数据来完成,但我在文档中没有找到任何用于控制输入的内容。有没有办法控制这个输入?示例:不允许空格字符根据文档,您有三个选项:

自定义登录库

有三种方法可以自定义登录库:

AndroidManifest.xml中的活动元数据-这是最推荐的 因为它允许您自定义登录体验,而无需 编写任何代码,都可以使登录体验保持一致 无论应用程序中的哪个活动启动ParseLoginActivity

使用ParseLoginBuilder编写代码-如果您喜欢编写代码 一切

覆盖布局资源XMLs-如果 您希望对登录的外观和感觉进行重大更改 经验

我建议使用第二种方法,因为第一种方法似乎不符合您的需要。当用户按下“注册”按钮时,只需检查字符串值。然后返回一个祝酒词,告诉用户为什么禁止使用用户名

//In ParseSignupFragment.java
@Override
public void onClick(View v) {
    String username = usernameField.getText().toString();
    String password = passwordField.getText().toString();
    String passwordAgain = confirmPasswordField.getText().toString();
    //Other code

    Pattern pattern = Pattern.compile("\\s");
    Matcher matcher = pattern.matcher(username);
    boolean found = matcher.find();
    if (username.length() == 0) {
        showToast(R.string.com_parse_ui_no_username_toast);
    } else if (found) {
        showToast(R.string.com_parse_ui_username_illegal_character_toast); //You must create this manually
    }
    //Rest of the method
}

这很有道理,谢谢!这应该在我的模块中,重写ParseSignupFragment,还是我应该直接编辑ParseLoginUI?我不太确定您要在哪里重写什么。。我想你已经把ParseLoginUI作为一个库包含在你的项目中了?这样,在项目中以编程方式更改它就更容易了。如果您想进行更多的更改,最好是分叉项目(至少在本地)。我希望我没听错;)