【问题标题】:ToggleButtons in androidandroid中的切换按钮
【发布时间】:2014-08-28 10:32:34
【问题描述】:

嘿,伙计们,我有一个包含 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。 提前感谢您的帮助。

【问题讨论】:

  • 您可以使用“buttonToToggle.toggle();”进行测试

标签: android android-togglebutton


【解决方案1】:

【讨论】:

  • 我使用了check changed listener..我的方法奏效了。非常感谢。只需要在正确的地方调用该方法。谢谢。
【解决方案2】:

试试这个...

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

                }
            }
        });

【讨论】:

  • 我已经使用了检查更改的侦听器..我的方法有效。非常感谢。只需要在正确的地方调用该方法。谢谢。但我也会尝试这个。会看看哪个更好。
猜你喜欢
  • 1970-01-01
  • 2010-10-08
  • 2011-01-17
  • 1970-01-01
  • 2012-12-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多