列表视图中的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联系人图像占位符的主要内容,如果未能解决你的问题,请参考以下文章
检查 UIImageView 中的图像不是占位符图像并附加到 UIImage 数组
AlamofireImage 占位符图像在缓存图像之前简要显示 v3.1