我一直在想我正在开发一个提供一种方式来宣传他们的产品,但我很困惑,如果glide在recyclerview的某些位置给出了错误,我应该怎么做,如何管理?我应该删除recyclerview项目在该位置或做其他事情,因为它降低了我的应用程序的质量?还有一件事,为什么流行的应用程序前:Facebook,Instagram没有得到这样的错误,因为我从来没有发现任何错误的图像在他们的recyclerview他们是如何做到的?我的后端是firebase;
kb5ga3dv1#
如果Glide无法在特定位置加载图像。您可以使用占位符或错误来管理它。参见文档:https://bumptech.github.io/glide/doc/placeholders.html我的Facebook应用程序有时无法加载图像,因为我的互联网连接太慢,它变得空白。
a14dhokn2#
Facebook和其他应用程序有按钮重试,当错误来.您可以在RecyclerView的bindViewHolder方法和ListView的getView方法中执行如下操作:
RecyclerView
bindViewHolder
ListView
getView
Glide.with(mContext) .load(arrayList.get(position).getImageUrl()) .diskCacheStrategy(DiskCacheStrategy.ALL) .into(new SimpleTarget<GlideDrawable>() { @Override public void onResourceReady(GlideDrawable resource, GlideAnimation<super GlideDrawable> glideAnimation) { if (holder.mimageView.getVisibility() == View.GONE) holder.mimageView.setVisibility(View.VISIBLE); if (holder.btnRetry.getVisibility() == View.VISIBLE) holder.btnRetry.setVisibility(View.GONE); holder.mimageView.setImageDrawable(resource); } @Override public void onLoadFailed(Exception e, Drawable errorDrawable) { super.onLoadFailed(e, errorDrawable); if (holder.mimageView.getVisibility() == View.VISIBLE) holder.mimageView.setVisibility(View.GONE); if (holder.btnRetry.getVisibility() == View.GONE) holder.btnRetry.setVisibility(View.VISIBLE); } });
现在在btnRetry上单击,您可以再次使用上述滑翔获取图像。
btnRetry
m528fe3b3#
如果Glide在加载图像时遇到错误,它可以抛出异常。在这种情况下,您可以捕获异常并适当地处理它。一种常见的方法是显示占位符图像或默认图像来代替失败的图像。您可以通过在Glide请求中设置占位符或回退图像来完成此操作。例如:
Glide.with(context) .load(imageUrl) .placeholder(R.drawable.placeholder_image) .error(R.drawable.error_image) .into(imageView);
在上面的代码中,R.placeholder_image是在加载实际图像时显示的图像,而R。error_image是图像加载失败时将显示的图像。如果您使用Glide和RecyclerView,您可以使用相同的方法来处理错误。当图像加载失败时,您可以在受影响的RecyclerView项目的ImageView中显示占位符或回退图像。至于为什么像Facebook和Instagram这样的流行应用程序不会在其RecyclerViews中显示错误图像,这可能是因为它们有一个强大的错误处理机制。它们可能会捕获和处理异常,或者它们可能会使用其他技术来确保图像始终被成功加载。他们也可能有一个经验丰富的开发人员团队,他们已经优化了代码的性能和可靠性。
3条答案
按热度按时间kb5ga3dv1#
如果Glide无法在特定位置加载图像。您可以使用占位符或错误来管理它。
参见文档:https://bumptech.github.io/glide/doc/placeholders.html
我的Facebook应用程序有时无法加载图像,因为我的互联网连接太慢,它变得空白。
a14dhokn2#
Facebook和其他应用程序有按钮重试,当错误来.您可以在
RecyclerView
的bindViewHolder
方法和ListView
的getView
方法中执行如下操作:现在在
btnRetry
上单击,您可以再次使用上述滑翔获取图像。m528fe3b3#
如果Glide在加载图像时遇到错误,它可以抛出异常。在这种情况下,您可以捕获异常并适当地处理它。
一种常见的方法是显示占位符图像或默认图像来代替失败的图像。您可以通过在Glide请求中设置占位符或回退图像来完成此操作。例如:
在上面的代码中,R.placeholder_image是在加载实际图像时显示的图像,而R。error_image是图像加载失败时将显示的图像。
如果您使用Glide和RecyclerView,您可以使用相同的方法来处理错误。当图像加载失败时,您可以在受影响的RecyclerView项目的ImageView中显示占位符或回退图像。
至于为什么像Facebook和Instagram这样的流行应用程序不会在其RecyclerViews中显示错误图像,这可能是因为它们有一个强大的错误处理机制。它们可能会捕获和处理异常,或者它们可能会使用其他技术来确保图像始终被成功加载。他们也可能有一个经验丰富的开发人员团队,他们已经优化了代码的性能和可靠性。