保存在Firebase

时间:2017-05-07 12:06:09

标签: android firebase android-activity firebase-realtime-database

每次我在firebase中保存数据时,活动都会重新启动,但数据会被保存。

  public void saveCourses() {

    user.setCourse1(usercourses.get(0));

    user.setCourse2(usercourses.get(1));

    user.setCourse3(usercourses.get(2));

    user.setCourse4(usercourses.get(3));

    user.setCourse5(usercourses.get(4));


    user.setCourse6(usercourses.get(5));
    MyDatabase.child("USERS").child(usernameactionbar).child("Courses").setValue(user);


}

并按下执行保存和意图的按钮后:

// saveCourses();
                    Toast.makeText(getApplicationContext(), "Courses saved",
                            Toast.LENGTH_SHORT).show();
                   Intent GOTOMYCOURSES = new Intent(chooseCoursesActivity.this , myCourses.class);
                    startActivity(GOTOMYCOURSES);

如果我继续评论saveCourses召回,除了在Firebase数据库中保存数据外,一切正常,但如果我没有对其进行评论,则会保存数据,但活动会重新启动。

2 个答案:

答案 0 :(得分:0)

我认为唯一正确的方法是使用<html> <body> <style> html, body { height: 100%; margin: 0; padding: 0; } .page{ min-height:100%; border:1px solid black; } .wrapper { height: 100%; } .child { min-height: 33%; background: yellow; } </style> <div class="page"> <div class="wrapper"> <div class="child"></div> </div> </div> </body> </html>

答案 1 :(得分:0)

我认为您已在 ValueEventListener 中添加了 saveCourses()。因此,每次数据更改时,都会触发 startActivity(intent)。因为当您插入数据时,这意味着您确实正在更改firebase数据结构的某些部分,因此会调用 ValueEventListener 并重新启动活动。