java - Android中服务器上没有图像时显示默认图像

标签 java android json image android-volley

我正在通过一些教程来学习 Android。我目前正在研究this来自 androidhive 的教程。本教程的目标是显示电影列表并显示年份、流派、图像...所以现在我有一个问题,当服务器上没有图像时会发生什么。

movie.setThumbnailUrl(obj.getString("image"));

XML:

<com.android.volley.toolbox.NetworkImageView
    android:id="@+id/thumbnail"
    android:layout_width="80dp"
    android:layout_height="80dp"
    android:layout_alignParentLeft="true"
    android:layout_marginRight="8dp" />

如果服务器上不存在图像,我将如何显示默认图像(例如来自可绘制图像)?

最佳答案

只需在 xml 中向 networkImageView 添加默认背景即可:

<com.android.volley.toolbox.NetworkImageView
    android:id="@+id/thumbnail"
    android:background:"@drawable/default_image"
    ... />

并检查字符串是否为 null 或空

if (obj.getString("image") != null && !obj.getString("image").isEmpty()) {
     movie.setThumbnailUrl(obj.getString("image"));
}

如果你想以编程方式设置它,只需使用 else :

else {
   movie.setDefaultImageResId(R.drawable.default);
   movie.setErrorImageResId(R.drawable.error);
}

关于java - Android中服务器上没有图像时显示默认图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39330961/

相关文章:

javascript - JSON获取对象名称随机的对象的参数值

android - 在 ListView 项目中启动 AnimationDrawable。元素什么时候附加?

android - NullPointerException org.chromium.android_webview.AwContents$AwViewMethodsImpl.onDragEvent

android - Cocos2D-x 示例应用程序在启动时崩溃

python - 尝试使用 Python 打印 JSON 数据

json - Spark from_json 没有异常(exception)

java - 如何修复给出错误输出的字符串输入?

java - 如何使用 Java 从 Azure AD 导入用户

java - 从 Java 到 C# - 泛型转换为 BaseClass

java - Postgres JDBC 驱动程序未返回错误行号,如 PGAdmin 中所示