【问题标题】:Android contact image placeholder in listview列表视图中的Android联系人图像占位符
【发布时间】: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())

标签: android file uri contacts android-contacts


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      detect if contact has photo

      .getDrawable() == null
      

      得到正确的结果。

      感谢所有cmets

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-08
        • 2014-06-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-12
        • 2016-04-04
        相关资源
        最近更新 更多