小编his*_*rif的帖子

在Firebase中保存数据后重新启动活动

我试图在Firebase数据库中保存用户信息,但发生了一个奇怪的行为,使"保存"按钮重新启动相同的活动而不是我为下一个活动所做的意图.

 public void userData () {
    user.setFName(Fname.getText().toString());
    user.setLName(Lname.getText().toString());
    user.setEmail(Email.getText().toString());
    user.setAddress(userAddress.getText().toString());
    user.setPassword(UserInfo.getString("Password", ""));
    user.setID(CicID.getText().toString());
    user.setUsername(Usnm.getText().toString());
    if (bAdmn.isChecked()) user.setMajor("Business Administrator");
    if (BTech.isChecked()) user.setMajor("Business Tech");
    if (masscom.isChecked()) user.setMajor("Mass Com");
    if (Eng.isChecked()) user.setMajor("Engineering");

    final String us = user.getUsername();
    Log.i("Username", us);
    MyDatabase1.child("USERS").child(us).setValue(user);
    Intent i = new Intent(getApplicationContext() , chooseCoursesActivity.class);
    startActivity(i);

}
Run Code Online (Sandbox Code Playgroud)

这是保存按钮的方法,请注意,如果用户想要更改其名字或姓氏等,我想更新个人资料活动中的用户信息.但是在单击"保存"按钮后,数据会正确保存,但意图从未完成.它重新创建相同的Activity.在登录活动中有一个登录按钮,用于检查用户名和密码,然后尝试根据数据登录,如果登录成功则转到该个人资料活动."个人资料活动"中的"保存"按钮重新执行"登录活动"中"登录"按钮中的方法,该方法会检查所有内容并转到"个人资料活 这是登录按钮的代码:

    MyDatabase = FirebaseDatabase.getInstance().getReference();
    MyDatabase.child("USERS").addValueEventListener(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            boolean exists = false;

            for (DataSnapshot child : dataSnapshot.getChildren()) {
                final Map<String, Object> model = (Map<String, Object>) child.getValue();

                if (model.get("username").equals(Username.getText().toString())) …
Run Code Online (Sandbox Code Playgroud)

android android-intent android-activity firebase firebase-realtime-database

3
推荐指数
1
解决办法
1603
查看次数