Firebase实时。填写在不同字段中的字段

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

当将数据注册到Firebase实时以外的其他字段时,我不明白为什么这个问题,有人可以帮我吗?

enter image description here问题是灌装时Firebase记录中的“地址”字段将用电子邮件填充,而电子邮件则用电话号码填充。有人知道我在做什么错吗?

    protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_registro);

            editTextName = (EditText) findViewById(R.id.edit_text_name);
            editaddress = (EditText) findViewById(R.id.editaddress);
            editfullname = (EditText) findViewById(R.id.editfullname);
            editTextEmail = (EditText) findViewById(R.id.edit_text_email);
            editTextPassword = (EditText) findViewById(R.id.edit_text_password);
            editTextPhone = (EditText) findViewById(R.id.edit_text_phone);
            progressBar = (ProgressBar) findViewById(R.id.progressbar);
            progressBar.setVisibility(View.GONE);   



    private void registerUser() {
            final String helpsms = editTextName.getText().toString().trim();
            final String email = editTextEmail.getText().toString().trim();
            String password = editTextPassword.getText().toString().trim();
            final String address = editaddress.getText().toString().trim();
            final String fullname = editfullname.getText().toString().trim();
            final String phone = editTextPhone.getText().toString().trim();

progressBar.setVisibility(View.VISIBLE);
            mAuth.createUserWithEmailAndPassword(email, password)
                    .addOnCompleteListener(new OnCompleteListener<AuthResult>() {
                        @Override
                        public void onComplete(@NonNull Task<AuthResult> task) {

                            if (task.isSuccessful()) {

                                User user = new User(
                                        helpsms,
                                        email,
                                        phone,
                                        address,
                                        fullname
                                );

                                FirebaseDatabase.getInstance().getReference("Users")
                                        .child(FirebaseAuth.getInstance().getCurrentUser().getUid())
                                        .setValue(user).addOnCompleteListener(new OnCompleteListener<Void>() {
                                    @Override
                                    public void onComplete(@NonNull Task<Void> task) {
                                        progressBar.setVisibility(View.GONE);
                                        if (task.isSuccessful()) {
                                            Toast.makeText(RegistroActivity.this, getString(R.string.registration_success), Toast.LENGTH_LONG).show();
                                        } else {
                                            //display a failure message
                                        }
                                    }
                                });

                            } else {
                                Toast.makeText(RegistroActivity.this, task.getException().getMessage(), Toast.LENGTH_LONG).show();
                            }
                        }
                    });

        }

Users.java

public class User {
    public String helpsms;
    public String email;
    public String phone;
    public String address;
    public String fullname ;



    public User(String helpsms, String address, String email, String phone, String fullname) {
        this.helpsms = helpsms;
        this.email = email;
        this.phone = phone;
        this.address = address;
        this.fullname = fullname;
    }
}

活动注册xml

  <EditText
            android:id="@+id/editfullname"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"

            android:hint="FULL NAME"
            android:nextFocusDown="@id/edit_text_name"
            android:textColor="#000000"
            android:textColorHint="#000000" />
        <EditText
            android:id="@+id/edit_text_name"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"

            android:hint="@string/full_name"
            android:nextFocusDown="@id/editaddress"
            android:textColor="#000000"
            android:textColorHint="#000000" />
        <EditText
            android:id="@+id/editaddress"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"

            android:hint="FULL ADDRESS"
            android:nextFocusDown="@id/edit_text_email"
            android:textColor="#000000"
            android:textColorHint="#000000" />


        <EditText
            android:id="@+id/edit_text_email"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"

            android:hint="@string/email"
            android:inputType="textEmailAddress"
            android:nextFocusDown="@id/edit_text_password"
            android:textColor="#000000"
            android:textColorHint="#000000" />


        <EditText
            android:id="@+id/edit_text_password"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"

            android:hint="@string/password"
            android:inputType="textPassword"
            android:nextFocusDown="@id/edit_text_phone"
            android:textColor="#000000"
            android:textColorHint="#000000" />

        <EditText
            android:id="@+id/edit_text_phone"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:digits="0123456789"

            android:hint="@string/phone"
            android:inputType="number"
            android:maxLength="11"
            android:nextFocusDown="@id/button_register"
            android:textColor="#000000"
            android:textColorHint="#000000" />

        <Button
            android:id="@+id/button_register"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"

            android:text="@string/register"
            android:textAllCaps="false"
            android:background="#127E3F"
            android:textColor="#FFFFFF"
             />

    </LinearLayout>
android firebase firebase-realtime-database
1个回答
0
投票

您的构造函数是错误的。我希望您自己生成。如您在此处看到的,您的参数已经将地址设置为第二个参数。

 public User(String helpsms, String address, String email, String phone, String fullname) {
        this.helpsms = helpsms;
        this.email = email;
        this.phone = phone;
        this.address = address;
        this.fullname = fullname;
    }

因此,我建议您将其全部删除。如果您使用的是Windows,请在课程中的任意位置单击,然后按ALT + INSERT。选择构造函数并全选。

或者您可以在这里手动进行。

 public User(String helpsms, String email, String phone, String address, String fullname) {
        this.helpsms = helpsms;
        this.email = email;
        this.phone = phone;
        this.address = address;
        this.fullname = fullname;
    }
© www.soinside.com 2019 - 2024. All rights reserved.