2017-03-02 84 views
-1

您好我已經從Intent調用一個活動,putExtra值是從android中的Firebase的ValueEventListener/SingleValueEventlistner派生。但是當Intent被調用時,被打開的Activty會一直被重複調用。這裏是聽衆和意圖的代碼ValueEventlistener調用意圖重複其他活動的意圖調用

public void onSignInInitailize(String name) 
{ 
    displayName = name; 
    name = name.replace(" ",""); 
    Email = "FY1/" + name; 
    query = databaseReference.getRef(); 
    valueEventlistner = new ValueEventListener() { 
     @Override 
     public void onDataChange(DataSnapshot dataSnapshot) { 
      sfy1 = (String) dataSnapshot.child(Email).getValue(); 
      intent = new Intent(getApplication(),StudentActivity.class); 
      intent.putExtra("name", displayName); 
      intent.putExtra("class",sfy1); 
      startActivity(intent); 
      if(sfy1.equals("true")) 
      { 
       query.removeEventListener(this); 
      } 
     } 
     @Override 
     public void onCancelled(DatabaseError databaseError) 
      { 
      } 
    }; 
    query.addValueEventListener(valueEventlistner); 
    System.out.println(sfy1); 
} 

當Firebase身份驗證檢查User!= null時,將調用此方法。我試圖將聽衆分開,但沒用。

enter code here 

回答

0

onSignInInitailize多久調用一次? 你確定你沒有註冊很多新的ValueEventListeners嗎?

+0

這是我附加的唯一valueEventListener,onSignInInitialized也被初始化一次。 –