Android: ¿Cómo volver a dibujar un elemento gráfico?
He creado una clase RoundIcon que amplía la vista y la clase contiene el método setIconImage ():
<code>public void setIconImage(int imageFromResources) { iconImage = BitmapFactory.decodeResource(getResources(), imageFromResources); iconWidth = iconImage.getWidth(); iconHeight = iconImage.getHeight(); refreshDrawableState(); } </code>
y hay un método onDraw ():
<code>@Override protected void onDraw(Canvas canvas) { if(px == 0 || py == 0) { px = 50; py = 50; } canvas.drawCircle(px, py, circleRadius, circlePaint); canvas.save(); if(iconImage != null) { int cardinalX = px - iconWidth/2; int cardinalY = py - iconHeight/2; canvas.drawBitmap(iconImage, cardinalX, cardinalY, iconPaint); } canvas.restore(); } </code>
El problema es que la función onDraw () no se ejecuta cada vez que se llama al método setIconImage () desde la actividad principal y, por lo tanto, el icono no cambia en la interfaz del usuario.
¿Alguien sabe cómo modificar el código para volver a dibujar una imagen cada vez que se llama al método setIconImage?