views:

18

answers:

1

This maybe somewhat of a strange question but I just can`t figure it out. Basically I have a class that extends View and overrides the onDraw method so it draws a bitmap what it is called. What I want to do is when by choosing a picture from a gallery, send it through and intent and draw that on the View.

The problem is that I can`t get the Activity to draw the bitmap when it is started. I try setting in in onCreate, onStart... nothing works.

It works if I set the bitmap on a button press and calling invalitate(), so I suspect that I try to draw before the Activity hasn`t finished drawing itself.

Any suggestions?

A: 

Well, if you instantiate the class that extends the View in your onCreate, that should work.

Take a look at this example:

@Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Set full screen view
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                                     WindowManager.LayoutParams.FLAG_FULLSCREEN);
    requestWindowFeature(Window.FEATURE_NO_TITLE);

    customView = new CustomView(this);
    setContentView(customView);
    customView.requestFocus();
  }
xil3
First of all thank you for your suggestion. I forgot I had overridden the inSizeChanged method to instantiate the bitmap variable so every time I set it up it would make a new instance and override the new value. A cupola if`s and the problem is gone. Thanks alot.
ViktorC
You're welcome :)
xil3