использовать glide для восстановления изображений из хранилища firebase (облачное хранилище), FirebaseUi - PullRequest
0 голосов
/ 06 мая 2020

любезно направьте меня. Я использовал зависимость com.google.firebase: firebase-firestore от firestore для сохранения данных в базе данных. Затем я использовал FirebaseUi 'com.firebaseui: firebase-ui-firestore для получения изображений из хранилища Firebase с помощью Glide, но у меня проблема с контекстом. Вот мой код: как правильно? спасибо

public class TabAbonneAdapter extends FirestoreRecyclerAdapter<Usermodele,TabAbonneAdapter.HolderAbonne> {


    /**
     * Create a new RecyclerView adapter that listens to a Firestore Query.  See {@link
     * FirestoreRecyclerOptions} for configuration options.
     *
     * @param options
     */
    public TabAbonneAdapter(@NonNull FirestoreRecyclerOptions<Usermodele> options) {
        super(options);
        setHasStableIds(true);
    }

    @Override
    protected void onBindViewHolder(@NonNull HolderAbonne holder, final int position, @NonNull Usermodele model) {

        holder.userPseudo.setText(model.getPseudo());
        Date inscriptionInstance = model.getDateInscription();
        @SuppressLint("SimpleDateFormat")
        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        String dateinscrip = dateFormat.format(inscriptionInstance);
        Log.d("Date inscrption," ," = " + dateinscrip);
        holder.dateinscription.setText(dateinscrip);
        Glide.with(getContext)
                .load(model.getPhoto_url())
                .centerCrop()
                .placeholder(R.drawable.ic_aboneeprofil_avatar)
                .into(holder.userprofilImage);

    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public int getItemViewType(int position) {
        return position ;
    }



    @NonNull
    @Override
    public HolderAbonne onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.card_ajout,parent,false);

        return new HolderAbonne(view);
    }



    public class HolderAbonne extends RecyclerView.ViewHolder {
        ImageView userprofilImage;
        TextView  userPseudo,dateinscription;
        Button boutonAjouter;

        public HolderAbonne(@NonNull View itemView) {
            super(itemView);
           userprofilImage = (ImageView)itemView.findViewById(R.id.abonneprofilImage);
            userPseudo = (TextView)itemView.findViewById(R.id.AbonneName);
            dateinscription = (TextView)itemView.findViewById(R.id.dateinscription);
            boutonAjouter = (Button)itemView.findViewById(R.id.btnAjout);


        }

    }

}

1 Ответ

1 голос
/ 06 мая 2020
Glide.with(holder.itemView.getContext()) // get context from view
.load(model.getPhoto_url())
.centerCrop()
.placeholder(R.drawable.ic_aboneeprofil_avatar)
.into(holder.userprofilImage);
...