2017-11-25 17 views
1

私は、自分のユーザー以外のすべての他のアプリユーザーを表示するためにActivityに取り組んでいます.FirebaseでJava androidを使用しています。FirebaseRecyclerAdapterまたはFirebaseリファレンスから項目を除外する方法Android

しかし、私はDatabaseReferenceまたはFirebaseRecyclerAdapterから項目を除外することはできません。

My活動はこの

enter image description here

のように見える私のデータベースは、次のようになります。

enter image description here

この活動内部の私のコードは以下のようになります。

@Override 
public void onStart() { 
    super.onStart(); 
    database = FirebaseDatabase.getInstance(); 
    myRef = database.getReference().child("users"); 
    FirebaseRecyclerAdapter<Users,RecyclerViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Users, RecyclerViewHolder>(Users.class , R.layout.users_single_layout ,RecyclerViewHolder.class,myRef ) { 
     @Override 
     protected void populateViewHolder(RecyclerViewHolder viewHolder, Users model, int position) { 
       viewHolder.setDisolayName(model.getDisplay_name()); 
       viewHolder.setStatus(model.getStatus()); 
       viewHolder.setImage(model.getImager_thumb(), getContext()); 
       frinds_relative.setVisibility(View.INVISIBLE); 
       final String users_id = getRef(position).getKey(); 
       viewHolder.mview.setOnClickListener(new View.OnClickListener() { 
        @Override 
        public void onClick(View v) { 
         Intent target = new Intent(getActivity() , user_profile.class); 
         target.putExtra("profile_id" , users_id) ; 
         startActivity(target); 
        } 
       }); 


     } 
    }; 
    users_recycler.setAdapter(firebaseRecyclerAdapter); 
} 

I thになるあなたが解決策を持っているならば、気になる。

+0

する項目を除外:

これを実現するには、次のコード行を使用することができますか? ..どのようなアイテムのように? – Wizard

+0

私は、条件を追加するのと同じものをリストから隠すことを意味します –

+0

AFAIK、 'FirebaseRecyclerAdapter'はそのような機能を提供しません。必要に応じてカスタムアダプターを作成する必要があります。 – Wizard

答えて

0

FirebaseUI FirebaseRecyclerAdapterは、基礎となるQueryのデータを直接的に表しているか、Firebaseデータベースのある場所に存在します。アイテムをアダプタから除外するには、最初にFirebaseの場所からアイテムを除外するか、特定のクエリとそれ以上一致しないようにする必要があります。

yourAdapter.getRef(position).removeValue(); 
+0

FirebaseRecyclerAdapter Doseはremove()関数を持っています –

+0

yourAdapter.getRef(position)は 'removeValue()'メソッドを持つ 'DatabaseReference'オブジェクトを返します。とにかくありがとう。 –

+0

アダプタからだけでなく、データベースからも値を削除することは、助けてくれてありがとう –

関連する問題