Android中的ToggleButtons

时间:2014-08-28 10:32:34

标签: android android-togglebutton

嘿伙计我有一个包含4个切换按钮的布局。第一个总是启用或打开。当我启用第二个时,其余三个应该自动关闭或禁用。另外两个继续。曾经只有一个开关应该打开。

我使用切换按钮setchecked(布尔标志)通过将其设置为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。 感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

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

                }
            }
        });