2016-08-07 24 views
1

Also ich habe folgenden Kern, die ich versuche, die FirebaseRecyclerAdapater zu verwenden:Ausgabe mit FirebaseUI und FirebaseRecyclerAdapater

@Override 
    protected void onStart() { 
     super.onStart(); 

     FirebaseRecyclerAdapter<String, FSViewHolder> adapter = new FirebaseRecyclerAdapter<String, FSViewHolder>(
       String.class, 
       android.R.layout.two_line_list_item, 
       FSViewHolder.class, 
       fsRef 
     ) { 

      @Override 
      protected void populateViewHolder(FSViewHolder viewHolder, String model, int position) { 

      } 
     }; 

    } 

    public static class FSViewHolder extends RecyclerView.ViewHolder { 
     TextView fsText; 

     public FSViewHolder(View v) { 
      super(v); 
      fsText = (TextView) v.findViewById(android.R.id.text1); 
     } 
} 

Wenn ich die app im Studio i eine Fehlermeldung ausführen, das sagt:

Fehler: (88, 65) Fehler: kein geeigneter Konstruktor für FirebaseRecyclerAdapter (Klasse, int, Klasse, Firebase) gefunden Konstruktor FirebaseRecyclerAdapter.FirebaseRecyclerAdapter (Klasse, int, Klasse, Abfrage) ist nicht anwendbar (Argument nicht übereinstimmen; Firebase nicht in Query konvertiert werden) Konstruktor FirebaseRecyclerAdapter.FirebaseRecyclerAdapter (Class, int, Class, DatabaseReference) ist nicht anwendbar (argument mismatch; Firebase kann nicht in DatabaseReference konvertiert werden)

Ich bin wirklich verwirrt, was vor sich geht. Kann mir jemand sagen, was ich falsch mache?

+1

Der Typ von fsRef scheint nicht richtig zu sein. Der Superkonstruktor von FirebaseRecyclerAdapter erwartet DatabaseReference, während fsRef Firebase ist. Ich denke, es muss etwas von FirebaseDatabase.getInstance() sein. Child ("childname"). – 0p3n5ourcE

+0

Haben Sie eine Empfehlung? Meine fsRef ist Firebase fsRef = neue Firebase ("); –

+0

Es wird nicht mehr so ​​seit 18. Mai 2016 die Methode verwendet, ist veraltet. Stattdessen kann der Link hilfreich sein https://firebase.google.com/docs/ datenbank/android/retrieve-data – 0p3n5ourcE

Antwort

2

Der Typ von fsRef scheint nicht richtig zu sein. Der Superkonstruktor FirebaseRecyclerAdapter erwartet DatabaseReference, während FSRef von Firebase ist. Ich denke, es muss etwas von FirebaseDatabase.getInstance().getReference() sein. Der Link kann hilfreich sein firebase.google.com/docs/database/android/retrieve-data