diff options
Diffstat (limited to 'core/java/android/widget/ImageView.java')
| -rw-r--r-- | core/java/android/widget/ImageView.java | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/core/java/android/widget/ImageView.java b/core/java/android/widget/ImageView.java index 4d405c5a8627..cd806510ed51 100644 --- a/core/java/android/widget/ImageView.java +++ b/core/java/android/widget/ImageView.java @@ -455,7 +455,16 @@ public class ImageView extends View { /** @hide **/ public Runnable setImageResourceAsync(@DrawableRes int resId) { - return new ImageDrawableCallback(getContext().getDrawable(resId), null, resId); + Drawable d = null; + if (resId != 0) { + try { + d = getContext().getDrawable(resId); + } catch (Exception e) { + Log.w(LOG_TAG, "Unable to find resource: " + resId, e); + resId = 0; + } + } + return new ImageDrawableCallback(d, null, resId); } /** @@ -865,7 +874,7 @@ public class ImageView extends View { } catch (Exception e) { Log.w(LOG_TAG, "Unable to find resource: " + mResource, e); // Don't try again. - mUri = null; + mResource = 0; } } else if (mUri != null) { d = getDrawableFromUri(mUri); |
