0

嘿伙计们,我有一个包含 4 个切换按钮的布局。第一个始终启用或打开。当我启用第二个时,其余三个应自动关闭或禁用。其余两个也是如此。一次,只有一个开关应该打开。

我使用切换按钮 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);
    }

然后在分配给切换按钮的检查更改侦听器中将状态设置为 true 或 false。我在这里先向您的帮助表示感谢。

4

2 回答 2

1

使用:

setOnCheckedChangeListener()

http://developer.android.com/reference/android/widget/CompoundButton.html

于 2014-08-28T10:38:05.570 回答
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 回答