列表视图中的Android联系人图像占位符

Posted

技术标签:

【中文标题】列表视图中的Android联系人图像占位符【英文标题】:Android contact image placeholder in listview 【发布时间】:2015-08-28 23:40:41 【问题描述】:

我有一个带有列表视图和自定义适配器的活动。检索联系信息和图像不是问题。如果没有联系人图片,我无法显示替代图片。

检查 URI 是否为 NULL 对我不起作用。

我正在检索 android 联系人的 URI,结果 URI 的格式为

content://com.android.contacts/contacts/XXX/photo

其中 XXX 是一个数字。生成的 URI 仅对于添加的默认联系人(如紧急号码)为 NULL,因此检查 NULL 以将图像替换为占位符图像仅适用于这些号码。对于所有其他未设置图像的联系人,我想检查联系人图像的文件大小。

File f = new File(uri.getPath());
long size = f.length();
String str = Long.toString(size);

使用上面的命令结果总是0,不管有没有照片。

如何正确检查文件大小?或者如何检查生成的照片是否为空。

感谢您的帮助

【问题讨论】:

你检查过文件是否存在吗? (f.exists()) 【参考方案1】:

我鼓励您使用 Facebook Fresco 库。您将能够为图像视图提供占位符图像以及错误图像

【讨论】:

【参考方案2】:

使用任何著名的图像加载器,例如 Universal image loader 或 picasso lib。这个库将处理所有事情,它有一些放置错误图像的方法。您可以直接将您的联系人 URL 放入此库中。 他们将支持各种网址。 you can check here

【讨论】:

【参考方案3】:

检查文件是否存在的想法使我找到了这篇回答的帖子

detect if contact has photo

.getDrawable() == null

得到正确的结果。

感谢所有cmets

【讨论】:

以上是关于列表视图中的Android联系人图像占位符的主要内容,如果未能解决你的问题,请参考以下文章

Wordpress 中的占位符图标联系表格 7

检查 UIImageView 中的图像不是占位符图像并附加到 UIImage 数组

AlamofireImage 占位符图像在缓存图像之前简要显示 v3.1

联系表 7 中的占位符 - Wordpress

如何在 SwiftUI WidgetKit 占位符中自定义占位符外观?

是否可以在图像内制作占位符并稍后替换它?