管理切换按钮的状态

时间:2012-07-30 04:15:20

标签: java android adt

我遇到的问题是管理打开和关闭togglebutton的状态。按钮打开/关闭蓝牙。如何在不关闭应用程序的情况下轻松打开和关闭按钮?现在它只在启动应用程序时有效。

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

                    }

            }

2 个答案:

答案 0 :(得分: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();
        }
    });

答案 1 :(得分:0)

您可以使用

获取州

isChecked()