2017-03-03 2 views
0

Ich bin neu mit Firebase und versuchte, Daten entsprechend der E-Mail-ID zu Recycler anzuzeigen, aber Recycler-Ansicht zeigt die Reihe davon. Dies ist meine onCreate-Methode.Firebase Particular Daten

mDatabase= FirebaseDatabase.getInstance().getReference().child("user_project_status"); 
    //mDatabase.child(email); 
    mDatabase.keepSynced(true); 
    projects_token=(RecyclerView)findViewById(R.id.selected_projects); 

    projects_token.setHasFixedSize(true); 
    LinearLayoutManager linearLayoutManager=new LinearLayoutManager(this); 
    linearLayoutManager.setReverseLayout(true); 
    linearLayoutManager.setStackFromEnd(true); 
    projects_token.setLayoutManager(linearLayoutManager); 
    FirebaseRecyclerAdapter<Status_getter,StatusViewHolder> firebaseRecyclerAdapter=new FirebaseRecyclerAdapter<Status_getter, StatusViewHolder>(Status_getter.class,R.layout.status_row,StatusViewHolder.class,mDatabase) { 

     @Override 
     protected void populateViewHolder(StatusViewHolder viewHolder, Status_getter model, int position) { 
      final String post_key=getRef(position).getKey(); 
      if(model.getEmail().equals(email)) { 
       viewHolder.setProject_name(model.getProject_name()); 
       viewHolder.setToken_no(model.getToken_no()); 

      } 

      viewHolder.mView.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 

        Intent i=new Intent(Status.this,Selected_Status.class); 
        i.putExtra("status_id",post_key); 
        startActivity(i); 
       } 
      }); 
     } 

    }; 


    projects_token.setAdapter(firebaseRecyclerAdapter); 

Und das ist meine status_getter Klasse, durch die ich meine Daten setze. Es wird mit dem Namen Modell

String token_no,email,progress_dialog,progress_message,project_name,project_description,software_type; 

    public String getToken_no() { 
     return token_no; 
    } 


    public String getProject_name() { 
     return project_name; 
    } 


    public String getEmail() { 
     return email; 
    } 

    public void setEmail(String email) { 
     this.email = email; 
    } 

Ich habe genannt nämlich „Status_row“ eine XML-Reihe zu schaffen, die eine benutzerdefinierte Recyclerview macht.

Wert in meiner Datenbank gespeichert ist wie folgt. Wenn ich Datennapshot hinzufügen, sollte ich einen Datenschlüsselwert haben. Mit freundlicher fügen mit Antwort einige Beispiel-Code, weil ich in diesem 1

Antwort

0

nur ein Anfänger bin ich denke, Sie mDatabase nur statt mDatabase.equalTo("email",email) als 4. Argument von FirebaseRecyclerAdapter anonymen Klasse Konstruktor übergeben sollte.

ODER

Wenn Sie die Daten unter email Knoten holen wollen, dann können Sie mDatabase.child("email") als 4. Argument Ihrer FirebaseRecyclerAdapter anonymen Klasse Konstruktor übergeben.

Beispiel:

FirebaseRecyclerAdapter<Status_getter,StatusViewHolder> firebaseRecyclerAdapter=new FirebaseRecyclerAdapter<Status_getter, StatusViewHolder>(Status_getter.class,R.layout.status_row,StatusViewHolder.class,mDatabase.child("email")) { 
...