2014-10-29 54 views
0

我有一些代碼首先下載一個圖像在asynctask,然後將其加載到我的imageview後。但是當我執行下面的代碼時,畢加索說圖像不存在,因爲asynctask還沒有下載它。 ,但是當我做如何在畢加索載入圖片之後從asynctask下載圖片?

download.execute() 
mpicasso.load() 

我試圖把畢加索負載onPostExecute但後來它不編譯。有什麼建議麼?

+0

就像你說的,你需要一個偵聽器來加載圖像,然後在事件完成加載後做一些事情。你應該傳遞父對象的引用給asynctask,然後調用asynctask的父對象加載圖像,因爲只有asynctask知道它何時完成加載。我希望這是有道理的,因爲如果沒有一個好的類圖來解釋它,它會很混亂。 – 2014-10-29 10:20:47

回答

0

你不需要單獨下載它。畢加索將自行管理它 -

Picasso.with(context) 
    .load(url) 
    .resize(50, 50) 
    .centerCrop() 
    .into(imageView) 
+0

但事情是,我需要顯示圖像正在下載的東西,因爲圖像有4MB的大小,它需要10秒的畢加索加載它,然後你什麼都看不到。我試圖用異步任務來處理進度條 – KamilKamil5481 2014-10-29 10:22:15

+0

而且我還需要每次下載它 – KamilKamil5481 2014-10-29 10:22:47

+0

畢加索將自行管理圖像緩存,不必擔心這一點。查看此鏈接瞭解更多詳情 - http://square.github.io/picasso/ – 2014-10-29 10:25:11