0

我正在創建一個類似於聊天app.Now的應用程序,我不希望當前用戶當前登錄設備的帳戶顯示在FirebaseRecyclerAdapter結果列表中。我是當前用戶的UID。現在我想從Adapter中只過濾這個當前的UID。它可能如何? 在此先感謝。從FirebaseRecyclerAdapter中隱藏一個值

這裏是我的FirebaseRecyclerAdapter代碼

 FirebaseRecyclerAdapter<Donors, DonorsViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<Donors, DonorsViewHolder>(
      Donors.class, 
      R.layout.donors_single_layout, 
      DonorsViewHolder.class, 
      mUsersDatabase.orderByChild("search").equalTo(searchKey) 
    ) { 

     @Override 
     protected void populateViewHolder(DonorsViewHolder viewHolder, Donors model, int position) { 

      viewHolder.setName(model.getName()); 
      viewHolder.setLocation(model.getLocation()); 
      viewHolder.setImage(model.getThumb_image(), getApplicationContext()); 
      viewHolder.setGroup(model.getGroup()); 

      final String donorID = getRef(position).getKey(); 

      //WANTED TO HIDE THIS WAY BUT THAT DOESN"T WORK :( 
      if(donorID == mCurrentUserId){ 
       viewHolder.setIsRecyclable(false); 
       return; 
      } 

     } 
    }; 

    mDonorsList.setAdapter(firebaseRecyclerAdapter); 
    firebaseRecyclerAdapter.notifyDataSetChanged(); 
+0

你只想隱藏或刪除? –

+0

我只想隱藏先生。不需要從數據庫中刪除當前用戶 –

+0

請參閱https://stackoverflow.com/questions/41223413/how-to-hide-an-item-from-recycler-view-on-a-particular-condition –

回答

0

試試這個

viewHolder.setVisibility(View.INVISIBLE); 

代碼是這樣的:

if(donorID == mCurrentUserId){ 
       viewHolder.setIsRecyclable(false); 
       viewHolder.setVisibility(View.INVISIBLE); 
       return; 
      } 

或者

viewHolder.setVisibility(View.GONE); 

所以代碼是這樣的:

if(donorID == mCurrentUserId){ 
        viewHolder.setIsRecyclable(false); 
        viewHolder.setVisibility(View.GONE); 
        return; 
       } 

這一點,如果作品隱藏ItemView控件

+0

對不起。 .. .setVisibility(View.INIVISIBLE)不適用於您的時間爲viewHolder.Thanks –

+0

添加時會發生什麼? @WalidAlAshik –

+0

嘗試我的第二種方式。 @WalidAlAshik –