2016-10-30 5 views
0

データを照会しようとしていますが、FirebaseRecyclerAdapterにデータを添付できませんでした。FirebaseRecyclerAdapterを使用中にデータを照会しています

出力をlogcatに出力しました。これは正常に実行されました。以下は私のコードです。

mDatabase = FirebaseDatabase.getInstance().getReference("Blog").child("Events"); 
     Query queryRef = mDatabase.orderByChild("EventType").equalTo("Graduation Party"); 
     queryRef.addValueEventListener(new ValueEventListener() { 
      @Override 
      public void onDataChange(DataSnapshot dataSnapshot) { 
       System.out.println("My Values :"+ dataSnapshot); 


      } 

      @Override 
      public void onCancelled(DatabaseError databaseError) { 

      } 
     }); 

しかし、これらの結果をFirebaseRecyclerAdapterに添付します。以下は私のコードです。あなたが最初

Query queryRef; 

と発言権を宣言しない何

@Override 
    protected void onStart() { 
     super.onStart(); 
     // mAuth.addAuthStateListener(mAuthLitsener); 

     FirebaseRecyclerAdapter<Event,EventViewHolder> firebaseRecyclerAdapter_ = new FirebaseRecyclerAdapter<Event, GraduationListActivity.EventViewHolder>(Event.class, 
       R.layout.item_event_view, 
       GraduationListActivity.EventViewHolder.class, 
       mDatabase) { 
      @Override 
      protected void populateViewHolder(GraduationListActivity.EventViewHolder viewHolder, final Event model, final int position) { 
       final String key_post = getRef(position).getKey(); 
       viewHolder.setEventLocation(model.getEventlocation()); 
       viewHolder.setEventName(model.getEventName()); 
       viewHolder.setEventType(model.getEventType()); 
       viewHolder.mView.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         // Toast.makeText(EventViewActivity.this,"This is : "+position,Toast.LENGTH_LONG).show(); 

         Intent loadMainActivity = new Intent(GraduationListActivity.this,MainActivity.class); 
         loadMainActivity.putExtra(EventViewHolder.KEY_PARTY_NAME, model.getEventName()); 
         startActivity(loadMainActivity); 

        } 
       }); 





      } 
     }; 

     mRecyclerview_event_view.setAdapter(firebaseRecyclerAdapter_); 


    } 

答えて

0

あなた onStartでその後その後
mDatabase = FirebaseDatabase.getInstance().getReference("Blog").child("Events"); 
queryRef = mDatabase.orderByChild("EventType").equalTo("Graduation Party"); 

が、これがうまく

+0

感謝の男ワークス・ホープ、この

@Override protected void onStart() { super.onStart(); // mAuth.addAuthStateListener(mAuthLitsener); FirebaseRecyclerAdapter<Event,EventViewHolder> firebaseRecyclerAdapter_ = new FirebaseRecyclerAdapter<Event, GraduationListActivity.EventViewHolder>(Event.class, R.layout.item_event_view, GraduationListActivity.EventViewHolder.class, queryRef) { @Override protected void populateViewHolder(GraduationListActivity.EventViewHolder viewHolder, final Event model, final int position) { final String key_post = getRef(position).getKey(); viewHolder.setEventLocation(model.getEventlocation()); viewHolder.setEventName(model.getEventName()); viewHolder.setEventType(model.getEventType()); viewHolder.mView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { // Toast.makeText(EventViewActivity.this,"This is : "+position,Toast.LENGTH_LONG).show(); Intent loadMainActivity = new Intent(GraduationListActivity.this,MainActivity.class); loadMainActivity.putExtra(EventViewHolder.KEY_PARTY_NAME, model.getEventName()); startActivity(loadMainActivity); } }); } }; mRecyclerview_event_view.setAdapter(firebaseRecyclerAdapter_); } 

ようmDatabase

は、それが実行していますqueryを入れて、それが働いています:) –

関連する問題