【问题标题】:Glide/Picasso loads only some of the images to Firebase Recyclerview, inside Fragment - using Firebase UIGlide/Picasso 仅将部分图像加载到 Fragment 内部的 Firebase Recyclerview - 使用 Firebase UI
【发布时间】:2017-09-24 11:33:53
【问题描述】:

我正在尝试显示包含图像的项目列表。我正在使用 firebase UI 来初始化片段内的 recyclerview。 当我运行该应用程序时,只有少数图像可以正确显示,但其他所有图像都没有。即使我尝试两次显示相同的图像,在一个项目中它显示,而在另一个项目中,它没有。 Picasso 和 Glide 我都试过了,它们的情况都是一样的。

有什么建议吗?

我的 FirebaseRecyclerView:

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

    FirebaseRecyclerAdapter<MyList, myListViewHolder> firebaseRecyclerAdapter = new FirebaseRecyclerAdapter<...>(
            MyList.class,
            R.layout.my_list_row,
            myListViewHolder.class,
            mDatabase
    ) {
        @Override
        protected void populateViewHolder(myListViewHolder viewHolder, MyList model, int position) {

            viewHolder.setTitle(model.getTitle());
            viewHolder.setLink(model.getLink());
            viewHolder.setImage(getContext(), model.getImage());

            viewHolder.mView.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View view) {

                }
            });
        }
    };



    mList.setAdapter(firebaseRecyclerAdapter);

}

//myList class
public static class myListViewHolder extends RecyclerView.ViewHolder {

    View mView;

    public myListViewHolder(View itemView) {
        super(itemView);

        mView = itemView;
    }
public void setImage(Context ctx, String image) {

        ImageView gift_image = (ImageView) mView.findViewById(R.id.listRowImageView);
       //Picasso.with(ctx).load(image).resize(75,75).into(test_image);
        Glide.with(ctx).load(image).into(test_image);

    }

【问题讨论】:

    标签: android firebase android-fragments android-recyclerview firebaseui


    【解决方案1】:

    您是否尝试在适配器的 OnBindViewholder 中绑定图像。我以前用过毕加索。下面的代码在我的情况下工作正常 -

    @Override
    public void onBindViewHolder(StoredNewsListHolder holder, int position) {
        String t = notificationStoreList.get(position).getNotification_title();
        String b = notificationStoreList.get(position).getNotification_content();
    
    
        notification_title.setText(t);
        notification_content.setText(b);
        id_hiddenid.setText ( String.valueOf(notificationStoreList.get(position). getId()));
        if(notificationStoreList.get(position).getImage_url() != null){
            Picasso.with(context).load(notificationStoreList.get(position).getImage_url()).into(icon_notification);
        }
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-10-06
    • 2015-10-24
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 2020-06-28
    相关资源
    最近更新 更多