管理切换按钮的状态

2020年10月31日 41点热度 0条评论

我遇到的问题是管理切换按钮处于打开和关闭状态。该按钮打开/关闭蓝牙。我该如何做才能在不关闭应用程序的情况下轻松地打开和关闭按钮?现在,它仅在启动应用程序时有效。

if(!myBluetooth.isEnabled()){

            final ToggleButton tglbtn = (ToggleButton)findViewById(R.id.ToggleButton01);

            tglbtn.setChecked(false);
           tglbtn.setOnClickListener(new OnClickListener(){
                 public void onClick(View v) {
                    myBluetooth.enable();}});

            }

        else {
            ToggleButton tglbtn = (ToggleButton)findViewById(R.id.ToggleButton01);

            tglbtn.setChecked(true);

          tglbtn.setOnClickListener(new OnClickListener(){
           public void onClick(View v) {
            myBluetooth.disable();}});
        }

我尝试实现一个循环来完成此操作,但是应用程序一直崩溃,我唯一想到的是在两个myBluetooth实例下方的底部是
goto,并链接到另一个实例,但是由于在Java中这是不可能的,我没主意了。

while(myBluetooth != null){
             tglbtn.setOnClickListener(new OnClickListener(){
                 public void onClick(View v) {
                    myBluetooth.enable();
                    toggleflag = true; }});
                    while (toggleflag){
                        tglbtn.setOnClickListener(new OnClickListener(){
                            public void onClick(View v) {
                                myBluetooth.disable();
                                toggleflag = false; }});

                    }

            }

解决方案如下:

尝试这个

ToggleButton toggle = (ToggleButton) findViewById(R.id.toggle);
toggle.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
Toast.makeText(getApplicationContext(), buttonView.isChecked()+"",Toast.LENGTH_SHORT).show();
        }
    });