tags:

views:

522

answers:

1

Hi, i have the following problem.

I am working with a library of maps which paints the icons on the map using drawables and canvas.

Now, i'm trying to modify it in order to the user can click on icons. So i want to attach drawables into different ImageView with a onClickListener.

However, i don't know how i can paint the ImageView using canvas from method onDraw.

I've tried with:

ImageView iv = new ImageView(context);
iv.setDrawableResource(drawable);
iv.draw(c)

But it doesn't appears in screen.

Any idea? Thanks

+1  A: 

You might have better luck if you provided more context -- what's "c" represent here? But in any case, you can't just create new imageviews, you need to attach them to your layout, either by inflating them with a parent view argument from XML, or calling your parent layout's addView() programatically.

Generally, you'll rarely call any draw() methods by hand (unless you're implementing a custom view of some sort); you'll inflate your views from XML into your layout, or else instantiate your views, set whatever LayoutParams you need, and add them to a layout. The Android UI libraries handle figuring out when standard views are invalidated and need to be redrawn, for performance reasons and your own sanity.

Yoni Samlan