#android-studio
#android-studio
Вопрос:
Мне нужна помощь в создании флажка, который, когда установлен, включает остальные 4 флажка, чтобы я мог решить, какие кости выпадают это часть кода, в которой работает бот make the app — это приложение dice, 4 флажка отключены при запуске приложения
private void rollDice () {
int d1 = this.random.nextInt(3) - 1;
int d2 = this.random.nextInt(3) - 1;
int d3 = this.random.nextInt(3) - 1;
int d4 = this.random.nextInt(3) - 1;
if (cb1.isChecked()) {
switch (d1) {
case -1:
iv_dice1.setImageResource(R.drawable.dice_1);
break;
case 0:
iv_dice1.setImageResource(R.drawable.dice_2);
break;
case 1:
iv_dice1.setImageResource(R.drawable.dice_3);
break;
}
}
if (cb2.isChecked()) {
switch (d2) {
case -1:
iv_dice2.setImageResource(R.drawable.dice_4);
break;
case 0:
iv_dice2.setImageResource(R.drawable.dice_5);
break;
case 1:
iv_dice2.setImageResource(R.drawable.dice_6);
break;
}
}
if (cb3.isChecked()) {
switch (d3) {
case -1:
iv_dice3.setImageResource(R.drawable.d_1);
break;
case 0:
iv_dice3.setImageResource(R.drawable.d_2);
break;
case 1:
iv_dice3.setImageResource(R.drawable.d_3);
break;
}
}
if (cb4.isChecked()) {
switch (d4) {
case -1:
iv_dice4.setImageResource(R.drawable.d_4);
break;
case 0:
iv_dice4.setImageResource(R.drawable.d_5);
break;
case 1:
iv_dice4.setImageResource(R.drawable.d_6);
break;
}
}
}
}
Комментарии:
1. в чем ваша проблема? вы упомянули свой запрос, но не уточнили, с какой проблемой вы столкнулись.
2. ну, я не знаю, как заставить флажок включить другие флажки, извините, я впервые работаю над Android Studio
3. это просто, просто установите флажок on checked event на главном, затем включите другой флажок и отключите их по умолчанию, а также вам нужно сохранить статус флажка, потому что при просмотре прокрутки статус флажка будет снят
4. вложенные флажки должны иметь уникальный статический статус, чтобы они были отмечены, когда установлены, и сняты, когда не установлены.
5. ммм, как я создаю событие checked?
Ответ №1:
Сначала вы должны попытаться найти свой объект checkbox:
CheckBox checkBox = (CheckBox) findViewById(R.id.checkBoxID);
Затем вы подключаете EventListener, прослушивающий события изменения, и там вы можете включить другие ваши флажки:
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener()
{
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if ( isChecked )
{
// enable other checkboxes
cb1.setEnabled(true);
cb2.setEnabled(true);
cb3.setEnabled(true);
cb4.setEnabled(true);
}
}
});