java - 用户名不被接受?

标签 java android android-edittext

在下面的代码中,用户名字段出现错误,如图所示,不知道为什么请帮忙? enter image description here

图片给出了正在接收的错误消息的描述 enter image description here

public class MainActivity extends AppCompatActivity {
EditText text;
ParseUser a;
EditText text2;
public void Onclick(View view)
{
    text=(EditText)findViewById(R.id.editText);
    text2=(EditText)findViewById(R.id.editText2);
    if(view.getId()==R.id.button)
    {
        ParseUser.logInInBackground(text.getText().toString(), text2.getText().toString(), new LogInCallback() {
            @Override
            public void done(ParseUser user, ParseException e) {
                if(user!=null)
                {
                    Toast.makeText(MainActivity.this, "Logged in", Toast.LENGTH_SHORT).show();
                }
                else
                {
                    Toast.makeText(MainActivity.this,"invalid username or password", Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
    if(view.getId()==R.id.button2)
    {
     a=new ParseUser();
        a.signUpInBackground(new SignUpCallback() {
            @Override
            public void done(ParseException e) {
                if(e==null)
                {
                    a.setUsername(text.getText().toString());
                    Toast.makeText(MainActivity.this, "user signed in", Toast.LENGTH_SHORT).show();
                    a.setPassword(text2.getText().toString());
                }
                else
                {
                    Toast.makeText(MainActivity.this,"Already user", Toast.LENGTH_SHORT).show();
                    Toast.makeText(MainActivity.this,e.getMessage().substring(e.getMessage().indexOf(" ")), Toast.LENGTH_SHORT).show();
                }
            }
        });
    }
   // ParseAnalytics.trackAppOpenedInBackground(getIntent());
}

最佳答案

点击button2后,a.signUpInBackground()会在后台进行检查,发现用户名为空。

您应该在 a.signUpinBackground() 之前填充用户名和密码,而不是在回调期间填充用户名和密码(回调仅在您完成注册后运行),如 http://docs.parseplatform.org/android/guide/#users 中所述。 ,示例如下:

ParseUser user = new ParseUser();
user.setUsername("my name"); //in your case, text.getText().toString()
user.setPassword("my pass"); //in your case, text2.getText().toString()  
user.setEmail("email@example.com");

// other fields can be set just like with ParseObject
user.put("phone", "650-253-0000");

user.signUpInBackground(new SignUpCallback() {
public void done(ParseException e) {
   if (e == null) {
     // Hooray! Let them use the app now.
   } else {
     // Sign up didn't succeed. Look at the ParseException
     // to figure out what went wrong
   }
 }
});

关于java - 用户名不被接受?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50808833/

相关文章:

java - 敌人渲染

java - 获取用户Android版本

android - 如何在 App Widget 中制作类似于 Google Play 音乐小部件中的自定义 View ?

java - 使用faceId/touchId的应用程序的安全性?它是如何工作的?

java - 安卓 : Adding EditText one below the old one dynamically

java - Gson:反序列化和 "extend"一个巨大的JSON

java - 外部 JAR 上的变量未更新

android - 不要在主题中请求 Window.FEATURE_SUPPORT_ACTION_BAR 并将 windowActionBar 设置为 false 以使用工具栏

EditText 的 Android 自定义形状

android - TextInputLayout 和 EditText 双提示问题