无法在RecylcerView中查看Firebase中的图像

时间:2018-04-05 13:32:52

标签: android firebase

为书店开发应用程序。我希望能够在他们旁边查看带有图像的书籍列表。我可以将图片上传到Firebase存储,并且我的表格中有对该图片的引用。

我正在尝试使用RecyclerView,名称出现但图像没有出现。我一直在调试应用程序,文件名即将出现,但我不知道它是否在我的添加书籍活动中正确保存。

这是我选择一本书的地方:

  private void chooseFile()
    {
        Intent intent = new Intent();
        intent.setType("image/*");
        intent.setAction(Intent.ACTION_GET_CONTENT);
        startActivityForResult(Intent.createChooser(intent, "Select Picture"), PICK_IMAGE_REQUEST);
    }

    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        if(requestCode == PICK_IMAGE_REQUEST && resultCode == RESULT_OK
                && data != null && data.getData() != null )
        {

            filePath = data.getData();

            try {
                Bitmap bitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), filePath);
                imageView.setImageBitmap(bitmap);
            } catch (IOException e) {
                e.printStackTrace();
            }


        }
    }

Then my Glide Part where I want to display the image:

         @Override
        public void onBindViewHolder(SearchViewHolder holder, int position) {
            holder.mTitle.setText(titleList.get(position));
            holder.mAuthor.setText(authorList.get(position));

    //        ParseFile image = (ParseFile) bookImageList.get(position).get("image");
    //        String url = image.getUrl();
    //        Glide.with(context)
    //                .load(url)
    //                .placeholder(R.mipmap.ic_launcher_round)
    //                .into(holder.bookImage);

            String image = bookImageList.get(position).toString();

            Glide.with(context)
                    .load(image)
                    .fitCenter()
                    .into(holder.bookImage);

    //        Glide.with(context)
    //                .load("https://firebasestorage.googleapis.com/v0/b/bookapplication-725d9.appspot.com/o/images%2F6faf4b68-bf60-416b-b3d8-622cb8e8c63b?alt=media&token=3982bf64-a98c-421e-a133-26da82d03b58")
    //                .fitCenter()
    //                .into(holder.bookImage);

            //Glide.with(context).load(bookImageList.get(position)).asBitmap().placeholder(R.mipmap.ic_launcher_round).into(holder.bookImage);
        }

编辑我的完整适配器类:

public class SearchAdapter extends RecyclerView.Adapter<SearchAdapter.SearchViewHolder> {

    Context context;
    ArrayList<String> titleList;
    ArrayList<String> authorList;
    ArrayList<String> categoryList;
    ArrayList<String> priceList;
    ArrayList<String> quantityList;
    ArrayList<String> bookImageList;

    class SearchViewHolder extends RecyclerView.ViewHolder {

        ImageView bookImage;
        TextView mTitle, mAuthor;

        public SearchViewHolder(View itemView) {
            super(itemView);
            bookImage = (ImageView) itemView.findViewById(R.id.bookImage);
            mTitle = (TextView) itemView.findViewById(R.id.titleSearchItem);
            mAuthor = (TextView) itemView.findViewById(R.id.authorSearchItem);

        }
    }

    public SearchAdapter(Context context, ArrayList<String> titleList, ArrayList<String> authorList, ArrayList<String> categoryList, ArrayList<String> priceList, ArrayList<String> quantityList,ArrayList<String> bookImageList) {
        this.context = context;
        this.titleList = titleList;
        this.authorList = authorList;
        this.categoryList = categoryList;
        this.priceList = priceList;
        this.quantityList = quantityList;
        this.bookImageList = bookImageList;
    }

    @Override
    public SearchAdapter.SearchViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(context).inflate(R.layout.search_list_items, parent, false);
        return new SearchAdapter.SearchViewHolder(view);
    }

    @Override
    public void onBindViewHolder(SearchViewHolder holder, int position) {
        holder.mTitle.setText(titleList.get(position));
        holder.mAuthor.setText(authorList.get(position));

//        ParseFile image = (ParseFile) bookImageList.get(position).get("image");
//        String url = image.getUrl();
//        Glide.with(context)
//                .load(url)
//                .placeholder(R.mipmap.ic_launcher_round)
//                .into(holder.bookImage);

        String image = bookImageList.get(position).toString();

        Glide.with(context)
                .load(image)
                .fitCenter()
                .into(holder.bookImage);

//        Glide.with(context)
//                .load("https://firebasestorage.googleapis.com/v0/b/bookapplication-725d9.appspot.com/o/images%2F6faf4b68-bf60-416b-b3d8-622cb8e8c63b?alt=media&token=3982bf64-a98c-421e-a133-26da82d03b58")
//                .fitCenter()
//                .into(holder.bookImage);

        //Glide.with(context).load(bookImageList.get(position)).asBitmap().placeholder(R.mipmap.ic_launcher_round).into(holder.bookImage);
    }

    @Override
    public int getItemCount() {
        return titleList.size();
    }
}

0 个答案:

没有答案