Динамически создавайте флажки, не зная их количества в Android-студии - PullRequest
0 голосов
/ 17 мая 2018

Я пытаюсь создать действие по регистрации пользователей в Android Studio, где Менеджер регистрирует сотрудников и выбирает действия, которые сотрудник может выполнять.Я сделал регистрацию в PHP и выглядит так:

    <?php foreach ($action_item as $key => $value):?>

    <input type="checkbox" name="actions[]" value="<?php echo $value['ID_action'] ?>"><?php echo $value['Action_Name'] ?><br>

       <?php endforeach; ?>

Действия хранятся в таблице «Действия».И код вставляет их идентификаторы в таблицу Employee_has_action со структурой (Id_EHA, ID_employee, ID_action).Я знаю, как вставлять и извлекать данные из онлайн-базы данных с помощью json, поэтому вопрос заключается в том, как (если возможно) динамически создать несколько (количество извлеченных строк базы данных из таблицы действий) с помощью кода и присвоить им извлеченные значения?Или любые другие лучшие варианты, когда при регистрации пользователя менеджер выбирает несколько данных, и они вставляются в БД?

Заранее спасибо.

1 Ответ

0 голосов
/ 17 мая 2018

Моим первым выбором было бы представить информацию в RecyclerView и иметь макет элемента (xml) с уже checkbox.

Но если вы хотите динамически создать флажки, выможно:

1) В layout вы будете использовать, чтобы включить держатель для checkboxes (parent) с id, который вы можете findViewById() из программы на appendView()их при создании.

2) Создайте checkboxex в цикле (от 0 до 4 в вашем примере с 5 действиями) и дайте им id (см. View.generateViewId(), чтобы получить идентификатор, который несталкиваются с другими существующими). ​​
Вам также нужно будет создать и установить LayoutParams для каждого checkbox (разные instance для каждого checkbox).LayoutParams, который вам нужно будет установить, будет зависеть от макета, в который вы помещаете checkboxes.
И, наконец, добавьте checkbox к view с parent.appendView().

As.последний шаг: вам может понадобиться ivalidate() родитель или вызвать requestLayout() в родительском представлении.

Более или менее так оно и должно быть.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...