Android Studio 有没有办法让Button改变ToggleButton的状态?

yeotifhr  于 2022-11-16  发布在  Android
关注(0)|答案(1)|浏览(173)

我正在Android Studio中开发调谐器应用程序。
我想有一个显示“开始调音”的按钮&当你点击它时,上面的ToggleButton(它有一个麦克风开&麦克风关的图像)从静音麦克风图像切换到未静音,以显示应用程序正在“收听”。
到目前为止,我有一个按钮,onClick将文本视图从关闭更改为打开,但是没有办法从打开返回到关闭,而且到目前为止,我还没有找到方法使麦克风“按钮”也发生变化。有办法做到这一点吗?以下是我目前为止得到的Java代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    beginTuning = findViewById(R.id.toggleButton);
    mic = findViewById(R.id.muteButton);
    mic_status = findViewById(R.id.micState);
    mic_status.setText("Mic off");
    tester = findViewById(R.id.test_button);

    tester.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            if (tester.isPressed() && mic.isChecked()) {
                mic_status.setText("on");
            } else {
                mic_status.setText("off");
            }
        }
    });
qmb5sa22

qmb5sa221#

您已将静音状态存储在变量'mic'中,因此打开音量时'将mute-check-status设置为' false ':您只需要将标记为1..和2..的语句添加到代码中;

public void onClick(View view) {
            if (tester.isPressed() && mic.isChecked()) {
                mic_status.setText("on");
                mic.setChecked(false);            // 1..add just this line so 'else' part of condition will execute next time

            } else {
                mic_status.setText("off");
                mic.setChecked(ture);   // 2..also  set mute checked..
            }
        }
    });

相关问题