Android Button.setActivated() 在 activity onPause 和 onResume 再次出现时不起作用?
Android Button.setActivated() dosen't work when the activity onPause and onResume again?
我正在尝试为媒体播放器制作 togglePlayPause 按钮。
首先我做了一个play_pause_toggle.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="false" android:drawable="@drawable/play"/>
<item android:drawable="@drawable/pause"/>
</selector>
其次,我制作了一个功能来在播放声音时收听播放状态,它将按钮设置为激活,以便将按钮图像从播放更改为暂停。
这在我打开应用程序时非常有效,但是当离开 activity 并返回时,单击按钮时按钮仅显示播放图像,当重新启动应用程序时它再次正常工作。
private void handleStateChanged(int state){
boolean isPlaying = (state == PlaybackStateCompat.STATE_PLAYING);
playToggleButton.setActivated(isPlaying);
}
@Override
public void onPlaybackStateChanged(PlaybackStateCompat state) {
super.onPlaybackStateChanged(state);
if (state != null){
handleStateChanged(state.getState());
}
}
我在 onStop() 中注销 mediaControllerCallback 的问题,我应该在 onDestroy() 中注销它。
我正在尝试为媒体播放器制作 togglePlayPause 按钮。 首先我做了一个play_pause_toggle.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_activated="false" android:drawable="@drawable/play"/>
<item android:drawable="@drawable/pause"/>
</selector>
其次,我制作了一个功能来在播放声音时收听播放状态,它将按钮设置为激活,以便将按钮图像从播放更改为暂停。 这在我打开应用程序时非常有效,但是当离开 activity 并返回时,单击按钮时按钮仅显示播放图像,当重新启动应用程序时它再次正常工作。
private void handleStateChanged(int state){
boolean isPlaying = (state == PlaybackStateCompat.STATE_PLAYING);
playToggleButton.setActivated(isPlaying);
}
@Override
public void onPlaybackStateChanged(PlaybackStateCompat state) {
super.onPlaybackStateChanged(state);
if (state != null){
handleStateChanged(state.getState());
}
}
我在 onStop() 中注销 mediaControllerCallback 的问题,我应该在 onDestroy() 中注销它。