이미지를 다운로드하고이를 내 RelativeLayout 배경으로로드하는 데 필자는이 코드 줄 (피카소 라이브러리를 사용하고 있습니다)을 사용합니다.안드로이드 스튜디오 앱을 처음 실행 한 후 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);
처음으로 에뮬레이터로 앱을 실행할 때 모든 것이 정상적으로 작동합니다. 문제는 다음에 앱을 실행해도 결코 작동하지 않으며 배경이 변경되지 않는다는 것입니다. 코드에서 아무 것도 변경하지 않는다는 것을 확신 할 수 있습니다. 앱을 다시 실행하십시오. 그러나 코드의 한 줄만 변경하면 예를 들어 몇 가지 코멘트를 만들 수 있습니다. 주석은 기능이없는 경우에도 다시 작동합니다. 이전처럼 코드를 변경하지 않고 앱을 다시 실행하면 백그라운드가 변경되지 않습니다. 어떤 버그가 있습니까? 아니면 내가 귀신이 들려 왔습니까?
편집 : 나는 응용 프로그램을 실행하는 처음의 logchat이 onBitmapLoaded() 실행하고 모든 것이 잘 작동 보여줍니다 발견 일부 logchat 출력 후. 다른 시간에 내가 app logchat를 실행하면 onPrepareLoad()가 실행되고이 문제 때문에 내 자리 표시 자에 배경이 설정됩니다. W/Settings : airplane_mode_on 설정이 android.provider.Settings.System에서 android.provider.Settings.Global로 이동되었습니다. 읽기 전용 값을 반환합니다.
아니요, 나는 둘 다했습니다. 첫 번째 작업은 전혀 작동하지 않습니다. 두 번째 앱은 앱을 처음 실행하는 경우에만 작동합니다. –