0

我有按鈕播放/停止,一個按鈕,通過播放或不播放改變他的資源,但是當我去其他片段(活動),並返回片段與播放/停止按鈕,音樂正在播放,但資源是默認的。Android按鈕ImageResource的變化

如果我按下按鈕,它停止服務,這是好的,唯一的問題是ImageResource的變化。

我的代碼:

int button_status = 1; 
.... other code ... 

public void onClick(View v) { 
if (button_status == 1){ 

    button_status = 0; 
    buttonPlayStop.setImageResource(R.drawable.pause); 

    getActivity().startService(new Intent(getActivity(), Service.class));  

    }else{ 

    button_status = 1; 
    buttonPlayStop.setImageResource(R.drawable.play); 

    getActivity().stopService(new Intent(getActivity(), Service.class)); 

    } 
} 

任何想法?

回答

0

您可以在Activity的onResume中查看Service的狀態。根據Service的狀態(運行與否),您可以設置按鈕的資源。

保持的Service狀態跟蹤最簡單的方法 - 就是介紹一些靜態字段,將代表身份檢查,如果您的活動正在運行或不使用下面的代碼片斷(來自here被盜)

稍微好一點的辦法:

private boolean isMyServiceRunning() { 
    ActivityManager manager = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE); 
    for (RunningServiceInfo service : manager.getRunningServices(Integer.MAX_VALUE)) { 
     if (MyService.class.getName().equals(service.service.getClassName())) { 
      return true; 
     } 
    } 
    return false; 
}