【发布时间】:2021-03-05 21:49:24
【问题描述】:
我目前正在创建一个在 android studio 中有音乐的应用程序。所以我在设置菜单上创建了一个音乐图标,当它被点击时,它应该静音或删除音乐。所以这就是问题所在,当我单击音乐图标时,它会变为静音音乐图标,但是当我离开设置菜单并再次进入设置菜单时,本应静音的图标会返回到正常的音乐图标。我不知道为什么它会变回原来的图标。它应该被静音,当用户再次点击它时,它应该被取消静音。我是android开发的新手,所以我仍然不知道这种东西。
这是我的音乐和声音设置代码:
public void showSettings(View v){
TextView exitTxt;
LinearLayout music,sound;
Button quitBtn;
ImageView soundIC, musicIC;
settingsMenu.setContentView(R.layout.activity_settings);
settingsMenu.setCancelable(false);
exitTxt = settingsMenu.findViewById(R.id.exitBtn);
music = settingsMenu.findViewById(R.id.music);
sound = settingsMenu.findViewById(R.id.sound);
soundIC = settingsMenu.findViewById(R.id.soundOnIC);
musicIC = settingsMenu.findViewById(R.id.musicOnIC);
exitTxt.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
settingsMenu.dismiss();
}
});
music.setOnClickListener(new View.OnClickListener() {
boolean isClicked = false;
@Override
public void onClick(View v) {
if(!isClicked) {
musicIC.setImageResource(R.drawable.ic_music_off);
music.setBackgroundResource(R.drawable.outline_clicked);
isClicked = true;
}
else{
music.setBackgroundResource(R.drawable.outline);
musicIC.setImageResource(R.drawable.ic_music);
isClicked = false;
}
}
});
sound.setOnClickListener(new View.OnClickListener() {
boolean isClicked;
@Override
public void onClick(View v) {
if(!isClicked) {
soundIC.setImageResource(R.drawable.ic_sound_off);
isClicked = true;
}
else{
soundIC.setImageResource(R.drawable.ic_sound);
isClicked = false;
}
}
});
settingsMenu.show();
}
【问题讨论】:
-
应用重启之间是否应该记住状态?
-
@trixo 是的。就像在其他应用程序上一样,如果您禁用了音乐,那么在您启用它之前它应该被禁用。但就我而言,当我退出或关闭应用程序的设置菜单时,所有设置都会重置
标签: java android android-studio onclicklistener