Пользователь должен иметь возможность выбирать только одну переключающую кнопку за раз.
Код, доступный в выбранном ответе по указанной вами ссылке, делает то же самоеработа.Чтобы визуализировать это, измените код.
В XML
В ToggleButton измените android:textOn
и android:textOff
на «вкл» и «выкл» (только дляпример).Ваш XML-файл должен выглядеть следующим образом:
<RadioGroup android:id="@+id/toggleGroup"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:orientation="horizontal"
>
<ToggleButton android:id="@+id/btn1"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_weight="1"
android:textSize="14sp"
android:textOn="on"
android:textOff="off"
android:onClick="onToggle"
android:checked="true"
/>
<ToggleButton android:id="@+id/btn2"
android:layout_height="wrap_content"
android:layout_width="fill_parent"
android:layout_weight="1"
android:textSize="14sp"
android:textOn="on"
android:textOff="off"
android:checked="false"
android:onClick="onToggle"
/>
</RadioGroup>
Это должно выглядеть следующим образом:
![Screenshot1](https://i.stack.imgur.com/WfpUT.png)
В файле Java
В своей деятельности напишите этот код:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
((RadioGroup) findViewById(R.id.toggleGroup)).setOnCheckedChangeListener(ToggleListener);
}
static final RadioGroup.OnCheckedChangeListener ToggleListener = new RadioGroup.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(final RadioGroup radioGroup, final int i) {
for (int j = 0; j < radioGroup.getChildCount(); j++) {
final ToggleButton view = (ToggleButton) radioGroup.getChildAt(j);
view.setChecked(view.getId() == i);
}
}
};
public void onToggle(View view) {
((RadioGroup)view.getParent()).check(view.getId());
// write your specific code here ..
Toast.makeText(this, "Toggle button clicked", Toast.LENGTH_SHORT).show();
}
Если вы нажмете «выкл», когда другой (кнопка переключения) «включен», «выкл» изменится на «на 'и наоборот.Таким образом, пользователь может выбрать только одну кнопку переключения одновременно.Если одна кнопка переключения включена, другая всегда будет отключена.