0

我是新來的機器人。我知道我們無法訪問服務中的活動控制。但是當我調用服務的方法時,我想更改按鈕的ImageSource。在服務中的活動訪問控制Android

這裏是我在服務中創建的方法:

public void play() 
    { 
     if (mp.isPlaying()) { 
      if (mp != null) { 
       mp.pause(); 
       // Changing button image to play button 
       btnPlay.setImageResource(R.drawable.btn_play); // not allowed 
      } 
     } else { 
      // Resume song 
      if (mp != null) { 
       mp.start(); 
       // Changing button image to pause button 
       btnPlay.setImageResource(R.drawable.btn_pause); // not allowed 
      } 
     } 
    } 

的活動,我呼籲播放按鈕,點擊此方法。如何在服務中實現此功能。我如何更改按鈕的圖像源。請清除我的疑問。感謝名單。

回答

0

爲這些事件創建自定義事件對象並將您的活動註冊爲偵聽器。

注意:不要忘記註銷它,因爲它可能導致內存泄漏。

0

試試這個代碼

public class MainActivity extends Activity 
{ 
/** Called when the activity is first created. */ 

public static MainActivity mThis; 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    mThis = this; 

} 

}

public void play() 
{ 

Button btnPlay=((Button)MainActivity.mThis.findViewById(R.id.btnPlay)); 
    if (mp.isPlaying()) { 
    if (mp != null) { 
     mp.pause(); 
     // Changing button image to play button 

     btnPlay.setImageResource(R.drawable.btn_play); 
    } 
} else { 
    // Resume song 
    if (mp != null) { 
     mp.start(); 
     // Changing button image to pause button 
     btnPlay.setImageResource(R.drawable.btn_pause); 
    } 
} 
+0

我創建一流的延伸服務。服務正在控制mediaplayer。 – zanky

+0

斯蒂爾我正在嘗試 – zanky