java如何允许3个安卓切换按钮中的1个同时打开 1 周,3 日 Questions & Answers 11576 我使用3个切换按钮。在我的安卓应用程序中,我希望一次只能选择其中一个切换按钮。我该怎么做呢
# 1 楼答案 一个简单的onChangeListener可以: public class TestProjectActivity extends Activity { ToggleButton one; ToggleButton two; ToggleButton three; ToggleButton four; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); one = (ToggleButton) findViewById(R.id.toggleButton1); two = (ToggleButton) findViewById(R.id.toggleButton2); three = (ToggleButton) findViewById(R.id.toggleButton3); four = (ToggleButton) findViewById(R.id.toggleButton4); one.setOnCheckedChangeListener(changeChecker); two.setOnCheckedChangeListener(changeChecker); three.setOnCheckedChangeListener(changeChecker); four.setOnCheckedChangeListener(changeChecker); } OnCheckedChangeListener changeChecker = new OnCheckedChangeListener() { @Override public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) { if (isChecked){ if (buttonView == one) { two.setChecked(false); three.setChecked(false); four.setChecked(false); } if (buttonView == two) { one.setChecked(false); three.setChecked(false); four.setChecked(false); } if (buttonView == three) { two.setChecked(false); one.setChecked(false); four.setChecked(false); } if (buttonView == four) { two.setChecked(false); three.setChecked(false); one.setChecked(false); } } } }; }
# 3 楼答案 我使用以下功能 private void setIsChecked(CheckBox checkBox){ buttonOne.setChecked(false); buttonTwo.setChecked(false); buttonThree.setChecked(false); checkBox.setChecked(true) } 现在,除了你选择的那一个,所有这些都被视为 前任 setIsChecked(buttonOne); 现在只有一个按钮被选中,等等
# 1 楼答案
一个简单的onChangeListener可以:
}
# 2 楼答案
你可以用radio buttons。如果你不想这样,请查看this link——它向你展示了如何监听按钮状态的变化。如果发现其中一个按钮已更改,请将另两个按钮更改为关闭状态
# 3 楼答案
我使用以下功能
现在,除了你选择的那一个,所有这些都被视为
前任
现在只有一个按钮被选中,等等