0

私が抱えている問題は、トグルボタンのオンとオフの状態を管理することです。ボタンはBluetoothのオン/オフを切り替えます。アプリを閉じずにボタンのオンとオフを簡単に切り替えられるようにするにはどうすればよいですか? 現在、アプリケーションの起動時にのみ機能します。

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、2 つの 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 に答える