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();}});
        }

我尝试实现一个循环来完成此操作,但应用程序不断崩溃,我唯一能想到的另一件事是goto在两个 myBluetooth 实例下方的底部向下,链接到另一个,但由于这在 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; }});

                    }

            }
4

2 回答 2

1

试试这个

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();
        }
    });
于 2012-07-30T10:01:53.250 回答
0

您可以使用

isChecked()

于 2012-07-30T09:56:43.143 回答