0

4 つのトグル ボタンを含むレイアウトがあります。最初のボタンは常に有効またはオンになっています。 、スイッチは 1 つだけオンにする必要があります。

トグル ボタン setchecked(boolean flag) を true または false に設定して、この関数を作成しました。しかし、ボタンは動的に状態を変更しません。

これが方法です..

public void setChoicesStates(boolean nameToggle,boolean surnameToggle,boolean emailToggle,boolean groupToggle )
    {
        mNameToggle.setChecked(nameToggle);
        mSurnameToggle.setChecked(surnameToggle);
        mEmailToggle.setChecked(emailToggle);
        mGroupToggle.setChecked(groupToggle);
    }

次に、トグル ボタンに割り当てられた check changed リスナーで状態を true または false に設定します。事前に助けてくれてありがとう。

4

2 に答える 2

1

これを試して...

ToggleButton tb1, tb2, tb3, tb4;
tb1 = (ToggleButton) findViewById(R.id.toggleButton1);
        tb2 = (ToggleButton) findViewById(R.id.toggleButton2);
        tb3 = (ToggleButton) findViewById(R.id.toggleButton3);
        tb4 = (ToggleButton) findViewById(R.id.toggleButton4);
        tb1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if (tb1.isChecked()) {
                    tb2.setChecked(false);
                    tb3.setChecked(false);
                    tb4.setChecked(false);

                }
            }
        });
        tb2.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if (tb2.isChecked()) {
                    tb1.setChecked(false);
                    tb3.setChecked(false);
                    tb4.setChecked(false);

                }
            }
        });
        tb3.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if (tb3.isChecked()) {
                    tb1.setChecked(false);
                    tb2.setChecked(false);
                    tb4.setChecked(false);

                }
            }
        });
        tb4.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                if (tb4.isChecked()) {
                    tb2.setChecked(false);
                    tb3.setChecked(false);
                    tb1.setChecked(false);

                }
            }
        });
于 2014-08-28T10:55:35.330 に答える