我使用這些代碼行(我使用picasso庫)下載圖像並將其加載到我的RelativeLayout的背景中。第一次運行應用後,Android studio Picasso加載器不工作
Target target = new Target() {
@Override
public void onBitmapLoaded(Bitmap bitmap, Picasso.LoadedFrom from) {
relative_layout.setBackground(new BitmapDrawable(getResources(), bitmap));
}
@Override
public void onBitmapFailed(Drawable errorDrawable) {
relative_layout.setBackgroundResource(R.drawable.blolo);
}
@Override
public void onPrepareLoad(Drawable placeHolderDrawable) {
relative_layout.setBackgroundResource(R.drawable.blolo);
}
};
Picasso.with(this)
.load("http://i.imgur.com/D3IBDDS.jpg")
.into(target);
事情是,當我第一次運行我的模擬器的應用程序時,一切正常。問題是,我下次運行應用程序時,它永遠不會工作,背景永遠不會改變。我可以向你保證,我不會改變代碼中的任何內容。我只是再次運行應用程序。但是,如果我改變了一行代碼,例如我做了一些評論,例如://等等等等,如果我按下run即使評論沒有功能,它也會再次運作。和之前一樣,如果我再次按下運行應用程序而不對代碼進行任何更改,背景也不會改變。有沒有錯誤或我是否鬧鬼?
編輯:後一些logchat輸出我發現,我第一次運行應用程序時,logchat表明onBitmapLoaded()運行,一切工作正常。其他時候,我運行應用程序日誌顯示onPrepareLoad()運行並設置背景到我的佔位符,因爲這個問題W /設置:設置airplane_mode_on已從android.provider.Settings.System移動到android.provider.Settings.Global ,返回只讀值。
不,我做了他們兩個。第一個根本不工作。第二個只適用於第一次運行應用程序。 –