2017-01-13 1 views
3

오디오 파일이 백그라운드에서 실행 중이지만 문제가 발생하면 Android 앱에서 이미지를 변경하려고합니다. 나는 그것을 수정할 수 있습니다하거나 총 정밀 검사를 필요로하는 경우오디오 파일이 백그라운드에서 android에서 실행 중일 때 배경 이미지 변경

public class SongActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_song); 
     final RelativeLayout rel = (RelativeLayout)findViewById(R.id.activity_song); 
     MediaPlayer mp = MediaPlayer.create(SongActivity.this,R.raw.thesong); 
     mp.start(); 
     rel.setBackgroundResource(R.drawable.bday); 
     Runnable r = new Runnable() { 
      @Override 
      public void run() { 
       synchronized (this){ 
       try { 
        wait(5000); 
       } catch (InterruptedException e) { 
        e.printStackTrace(); 
       } 
       } 
      } 
     }; 
     Thread test = new Thread(r); 
     test.start(); 
     rel.setBackgroundResource(R.drawable.bday2); 
} 
} 

가 알려 주시기 바랍니다 : 다음은 내 코드입니다. 미리 감사드립니다.

답변

2

xml에 ID를 추가하십시오. 문제가 activity_song을 것입니다 여기

setContentView(R.layout.activity_song); 
     final RelativeLayout rel = (RelativeLayout)findViewById(R.id.activity_song); 

:

코드에서
<?xml version="1.0" encoding="utf-8"?> 
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:orientation="vertical" 
    android:id="@+id/linear_layout"> 

    </LinearLayout> 

단지

 final RelativeLayout rel = (RelativeLayout)findViewById(R.id.linear_layout); 
     Resources res = getResources(); 
     Drawable drawable = res.getDrawable(R.drawable.image); 
     rel.setBackground(drawable); 
1

final RelativeLayout rel = (RelativeLayout)findViewById(R.id.activity_song); 

내가 코드를보고 있어요으로 교체 할 수처럼 쓰기 이건 단지입니다.파일 이름은 RelativeLayout이 아니므로 을 RelativeLayout id.then으로 바꾸면 원하는 결과를 얻을 수 있습니다.

관련 문제