Jak uzyskać, gdy ImageView jest całkowicie załadowany w Androidzie

Opracowuję aplikację, która rysuje linie na kilku obrazach. Aby wybrać te obrazy, mam grupę radiową i za każdym razem, gdy użytkownik kliknie przycisk radiowy, obraz jest ładowany ze wszystkimi własnymi rysunkami.

W moim słuchaczu radiowym mam następujący kod:

bitmap = BitmapUtils.decodeSampledBitmapFromResource(root + DefinesAndroid.CAMINHO_SHOPPINGS_SDCARD + nomeImagemAtual, size.x, size.y);
mImage.setImageBitmap(bitmap);

mImage.setDrawLines(true);
mImage.setImageBitmap(loadBitmapFromView(mImage));

decodeSampledBitmapFromResource metoda, którą otrzymałem z tego linku na programistów Androida (ładuje bitmapy bardziej efektywnie)http://developer.android.com/training/displaying-bitmaps/load-bitmap.html

A oto metoda, którą nazywam, aby uzyskać bitmapę widoku

    public static Bitmap loadBitmapFromView(View v) {
        Bitmap b = Bitmap.createBitmap( v.getLayoutParams().width, v.getLayoutParams().height, Bitmap.Config.ARGB_8888);                
        Canvas c = new Canvas(b);
        v.layout(0, 0, v.getLayoutParams().width, v.getLayoutParams().height);
        v.draw(c);
        return b;
}

Ustawiam obraz Bitmap zmImage ponieważ korzystam z biblioteki ImageViewTouch (która umożliwia powiększanie obrazu nad ImageView), a jeśli tego nie zrobię, cały rysunek płótna jest usuwany z dowolną interakcją nad obrazem (np. powiększanie / pomniejszanie).

Dziennik błędów jest następujący

07-11 21:13:41.567: E/AndroidRuntime(20056): java.lang.IllegalArgumentException: width and height must be > 0
07-11 21:13:41.567: E/AndroidRuntime(20056):    at android.graphics.Bitmap.createBitmap(Bitmap.java:638)
07-11 21:13:41.567: E/AndroidRuntime(20056):    at android.graphics.Bitmap.createBitmap(Bitmap.java:620)

Jestem prawie pewien, że ten błąd występuje, ponieważ mapa bitowa obrazu nie jest całkowicie załadowana, gdy dzwonięgetBitmapFromView metoda.

Skąd mam wiedzieć, kiedy widok jest całkowicie załadowany?

questionAnswers(3)

yourAnswerToTheQuestion