嘿伙计我有一个包含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。 感谢您的帮助。
答案 0 :(得分:1)
使用:
setOnCheckedChangeListener()
http://developer.android.com/reference/android/widget/CompoundButton.html
答案 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);
}
}
});