【问题标题】:Retrieving stored images from Firebase and add to custom Listview从 Firebase 检索存储的图像并添加到自定义 Listview
【发布时间】:2017-04-25 06:33:33
【问题描述】:

我试图从 FireBase 中的存储中检索图像,并将它们添加到 ListView 中,但它给出了错误,请帮助,我做错了什么。 谢谢。

 DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Test");

    mAdapter = new FirebaseListAdapter<HelperFile>(this, HelperFile.class, R.layout.custom_cell, ref) {
        @Override
        protected void populateView(View view, HelperFile value, int position) {

            ((TextView) view.findViewById(R.id.textViewName)).setText(value.getXXX());
            ((TextView) view.findViewById(R.id.textViewEmail)).setText(value.getYYY());
            ((TextView) view.findViewById(R.id.textViewSap)).setText(value.getZZZ());
            //((TextView) view.findViewById(R.id.textViewDate)).setText(value.getDate());

            StorageReference storageRef = storage.getReferenceFromUrl("my Url");
            StorageReference pathReference = storageRef.child("Images/ooo.jpg");
            ImageView imageView = (ImageView) findViewById(R.id.imageDealer);
            Glide.with(ListView.this)
            .using(new FirebaseImageLoader())
            .load(pathReference)
            .into(imageView);
        }

    };

    mListView.setAdapter(mAdapter);


}

【问题讨论】:

  • 您可以添加您看到的错误消息吗?
  • 添加错误信息。这样我们才能看到哪里出了问题!
  • java.lang.IllegalArgumentException: 你必须传入一个非空视图

标签: image listview firebase firebase-realtime-database firebase-storage


【解决方案1】:

如果它有帮助,(我不知道 Glide),在 Picasso 中,通常它是这样完成的

Picasso.with(context).load(imageLink).into(profilePic);

【讨论】:

  • 我也试过毕加索,结果一样,出错了。
  • 您是否从 firebase 获得了正确的网址?尝试设置敬酒或记录并检查。
  • 是的,url 在其他操作中显示我的图像(没有 Listview)但在 ListView 中会出错。
【解决方案2】:

问题出在ImageView imageView = (ImageView) view.findViewById(R.id.imageDealer);//我在findViewById之前添加view

 DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("Test");

mAdapter = new FirebaseListAdapter<HelperFile>(this, HelperFile.class, R.layout.custom_cell, ref) {
    @Override
    protected void populateView(View view, HelperFile value, int position) {

        ((TextView) view.findViewById(R.id.textViewName)).setText(value.getXXX());
        ((TextView) view.findViewById(R.id.textViewEmail)).setText(value.getYYY());
        ((TextView) view.findViewById(R.id.textViewSap)).setText(value.getZZZ());
        //((TextView) view.findViewById(R.id.textViewDate)).setText(value.getDate());

        StorageReference storageRef = storage.getReferenceFromUrl("my Url");
        StorageReference pathReference = storageRef.child("Images/ooo.jpg");
        ImageView imageView = (ImageView) view.findViewById(R.id.imageDealer);
        Glide.with(ListView.this)
        .using(new FirebaseImageLoader())
        .load(pathReference)
        .into(imageView);
    }

};
mListView.setAdapter(mAdapter);

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-23
    • 2017-08-30
    • 2017-02-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多