Я столкнулся с проблемой с моим приложением, у меня есть класс "option", в котором есть ToggleButton, который обрабатывает воспроизведение музыки (вкл или выкл), которую я создал в сеансе.Однако, если я выключаю музыку, меняю экран и возвращаюсь к классу параметров, кнопка ToggleButton возвращается к «вкл», даже если музыка больше не воспроизводится, что означает, что мне нужно дважды нажать кнопку, чтобы музыкана самом деле возвращайся.У кого-нибудь есть идеи?
Класс обслуживания:
public class MyMusicService extends Service {
MediaPlayer mp;
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
mp = MediaPlayer.create(this, R.raw.song);
mp.start();
mp.setLooping(true);
return super.onStartCommand(intent, flags, startId);
}
@Override
public IBinder onBind(Intent intent) {
return null;
}
@Override
public void onDestroy() {
// TODO Auto-generated method stub
super.onDestroy();
if(mp!=null) {
mp.stop();
mp.release();
}
mp=null;
}
}
Класс опции:
открытый класс OptionsActivity extends Activity {
Intent i; // Handles MyMusicService.java
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.options);
//setting the layout
i=new Intent(this, MyMusicService.class);
final ToggleButton soundOption = (ToggleButton) findViewById(R.id.soundPref);
soundOption.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Perform action on clicks to control sound being on and off.
if (soundOption.isChecked()) {
Toast.makeText(OptionsActivity.this, "Music on.", Toast.LENGTH_SHORT).show();
startService(i);
} else {
stopService(i);
Toast.makeText(OptionsActivity.this, "Music off.", Toast.LENGTH_SHORT).show();
}
}});
}
}
MainActvitiy class
Intent i;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//setting the layout
//Auto starts playing music on app launch.
i = new Intent(this,MyMusicService.class);
startService(i);
Может ли это быть как-то связано с тем фактом в XML, который у меня есть:
android:checked="true"
Спасибо за любыепомощь.