0

I am using https://github.com/Pkmmte/CircularImageView to get the picutures circular. And I want to clear the image in imageView if it is set already. NONE of the solutions work suggested @ How to clear an ImageView in Android?. Any help on how can I clear image if you have used CirularImageView ?

EDIT EDIT
I thought I can try to show empty grayed view after resetting the image but as that is not working, I am editing the question to tell you the actual problem.

Here it is:
I am using RecyclerView to show friends. One of my friend list does not have picture for him so I tried to show default avatar which is SVG image. First time when I scrolled down to his view it show perfectly. When I scroll back to him again for second time, it throws StackOverFlow exception.

mDefaultUserPhoto = MrVector.inflate(

            getResources(), R

                    .drawable.vector_default_user_photo);
}

circularIV.setImageDrawable(mDefaultUserPhoto); // This is what hits for every friend when scrolled and where the StackoverFlowException occured..

Trace:

E/InputEventReceiver﹕ Exception dispatching input event.
 D/AndroidRuntime﹕ Shutting down VM
/dalvikvm﹕ threadid=1: thread exiting with uncaught exception (group=0x41965da0)  
﹕ Uncaught exception start!
 java.lang.StackOverflowError
System.err﹕ at java.lang.ref.FinalizerReference.add(FinalizerReference.java:54)  
System.err﹕ at android.graphics.Bitmap$BitmapFinalizer.<init>(Bitmap.java:1644)  
System.err﹕ at android.graphics.Bitmap.<init>(Bitmap.java:152)  
System.err﹕ at android.graphics.Bitmap.nativeCreate(Native Method)  
System.err﹕ at android.graphics.Bitmap.createBitmap(Bitmap.java:903)  
System.err﹕ at android.graphics.Bitmap.createBitmap(Bitmap.java:880)  
System.err﹕ at android.graphics.Bitmap.createBitmap(Bitmap.java:847)  
System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:327)  
System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  

System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  View.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)   
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at com.pkmmte.view.CircularImageView.drawableToBitmap(CircularImageView.java:330)  
/System.err﹕ at com.pkmmte.view.CircularImageView.invalidate(CircularImageView.java:260)  
/System.err﹕ at android.widget.ImageView.invalidateDrawable(ImageView.java:211)  
/System.err﹕ at android.graphics.drawable.Drawable.invalidateSelf(Drawable.java:376)  
/System.err﹕ at android.graphics.drawable.Drawable.setBounds(Drawable.java:185)  
/System.err﹕ at android.widget.ImageView.configureBounds(ImageView.java:956)  
/System.err﹕ at android.widget.ImageView.updateDrawable(ImageView.java:738)  
/System.err﹕ at android.widget.ImageView.setImageDrawable(ImageView.java:431)  
/System.err﹕ at com.app.friends..adapters.FriendsAdapter.setPicture(FriendsAdapter.java:175)  
/System.err﹕ at com.app.friends..adapters.FriendsAdapter.onBindViewHolder(FriendsAdapter.java:124)  
braX
  • 11,506
  • 5
  • 20
  • 33
cgr
  • 4,578
  • 2
  • 28
  • 52
  • What you mean by "clear the image in imageView if it is set already". Can you explain little bit more? – Chandrakanth Jun 25 '15 at 11:41
  • setImageBitmap(null) doesn't work? – Pedro Oliveira Jun 25 '15 at 11:47
  • @Chandrakanth, I mean I do not want to show any image in the view. I am using RecyclerView to show the list of friends. RecyclerView re-uses the views that were just shown and removed from screen. When it re-uses, though the new data (friend) does not have the image in it it uses the existing image which is the face of other friend. If I keep scrolling, it shows different face everytime depending on the availability. This all not necessary here but to understand the context better. – cgr Jun 25 '15 at 14:55
  • @PedroOliveira, no it did not work. – cgr Jun 25 '15 at 14:55
  • Why don't you just hide the ImageView according to my answer if there is no avatar of friend? – romtsn Jun 26 '15 at 03:43
  • @guru Once check my answer – Chandrakanth Jun 26 '15 at 04:51
  • @rom4ek, I liked your answer. I can not do that unfortunately as I have to show a default avatar. I could not edit my question to add more details to understand the exact problem. As I explained above I am using RecyclerView to show friends. When friend does not have I want to show the default avatar. One of my friend list does not have picture for him so I tried to show default. First time when I scrolled down to his view it show perfectly. When I scroll back to him again, it throws StackOverFlow exception. Below is the code and exception details: ****** – cgr Jun 26 '15 at 13:54
  • @rom4ek, I liked your answer. I can not do that unfortunately as I have to show a default avatar. I think I will edit the question to give you the full details of my actual problem. – cgr Jun 26 '15 at 14:06
  • @Chandra, that did not work as well. – cgr Jun 26 '15 at 14:07
  • @guru you can try this library instead. It's pretty the same, but maybe that won't cause problems that you have. https://github.com/hdodenhof/CircleImageView – romtsn Jun 26 '15 at 17:17

6 Answers6

0

Try this:

boolean checkDrawable = (ImageView.getDrawable() != null);
if(checkDrawable ) {
 // imageView has image
}
else {
// no image assigned in image view
}
0

Try with the following,

imageview.setImageResource(0);

or

imageView.setBackground(null);
Kartheek
  • 7,104
  • 3
  • 30
  • 44
0

Suggested methods don't work because as you can see in the sources of CircleImageView the developer makes a validation about setted Bitmap in onDraw:

    @Override
public void onDraw(Canvas canvas) {
    // Don't draw anything without an image
    if(image == null)
        return;
    ...
    ...
}

So, it means that if you set a null as a bitmap, this method won't be executed, and the old bitmap still will be drawn. My suggest will be just to hide the view, using circleImageView.setVisibility(View.GONE); or circleImageView.setVisibility(View.INVISIBLE); if you want the view to take up a space for layout proposes.

romtsn
  • 11,704
  • 2
  • 31
  • 49
0
try this..


class RoundedImageView extends ImageView {

    public RoundedImageView(Context context) {
        super(context);

    }

    public ChimmerRoundedImageView(Context context, AttributeSet attrs) {
        super(context, attrs);

    }

    public ChimmerRoundedImageView(Context context, AttributeSet attrs,
            int defStyle) {

        super(context, attrs, defStyle);
    }

    @Override
    protected void onDraw(Canvas canvas) {
        float radius = 90.0f; // angle of round corners
        Path clipPath = new Path();
        RectF rect = new RectF(0, 0, this.getWidth(), this.getHeight());
        clipPath.addRoundRect(rect, radius, radius, Path.Direction.CW);
        canvas.clipPath(clipPath);

        super.onDraw(canvas);

    }
}
Rohit Heera
  • 2,709
  • 2
  • 21
  • 31
  • I tried this but I had some issues but I was getting cast exceptions. But I want to stick to CircularImageView as it is used in my other parts of the code as well and has been tested. – cgr Jun 25 '15 at 14:57
  • Can you please tell me you requirement and the exception you get – Rohit Heera Jun 26 '15 at 05:21
0

In your onBindViewHolder() of the RecyclerView.Adapter if your bitmap is null then create one bitmap with empty or default image then set it to CircularImageVeiw

   if(bitmap==null){
        //Creating empty bitmap
        bitmap= Bitmap.createBitmap(100,100, Bitmap.Config.ARGB_8888);
    }
   viewHolder.imageView.setImageBitmap(bitmap);
Chandrakanth
  • 3,711
  • 2
  • 18
  • 31
0

I could not find a way on how to clear image in CircularImageView but could find why the StackOverflowException. I was using Picasso as caching library which 'does not clear' cache. So moved to UniversalImageLoader which works fine and no OutOfMemoryException or StackOverflowException.

If you want to stick to Picasso then you may want to add code to clear cache. This linke helps -> Clear Cache memory of Picasso

Community
  • 1
  • 1
cgr
  • 4,578
  • 2
  • 28
  • 52