Работа с несколькими идентификаторами

Я создаю проект, в котором предлагаю пользователю таблицу. И он должен заполнить ценности. И когда он нажимает на кнопку «Отправить», в конце я должен проверить, верны все эти значения или нет. Вот образец таблицы и кода Работа с несколькими идентификаторами

Как видите, я дал идентификаторы как «fcfs_p1_ct» для p1 и «fcfs_p2_ct» для p2. Теперь в конце, когда мне нужно проверить значения, введенные пользователем. Мне нужно создать объекты соответствующих текстов редактирования.

Теперь один из способов - создать n условий if else и вручную создать объекты для каждого редактируемого текста. Можно ли выполнить этот процесс с помощью циклов? Например для p1

String str = findViewById(R.id.fcfs_p1_ct).getText().toString;

аналогично для p2

String str = findViewById(R.id.fcfs_p2_ct).getText().toString;

и так далее для n процессов.

Поскольку единственная изменяющаяся переменная в операторах - это номер процесса. Пожалуйста, предложите мне способ сделать то же самое для цикла

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
2
0
43
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Такого рода ситуации в Android - это не обрабатывается петлями, как только вы поймете, что ваш макет (XML) требует множества назначений идентификаторов View, рекомендуется использовать Adapter. Есть много готовых к использованию Adapters, доступных в Android SDK, таких как ArrayAdapter, BaseAdapter, CursorAdapter и т. д.

Выбор Adapter полностью зависит от вашего выбора View / макета, который вы хотите раздуть, а также от типа и источника данных, которые вы хотите использовать.

В вашей ситуации я бы рекомендовал начать с простого ListView и использовать собственный Adapter (класс, расширяющий BaseAdapter). Существует множество руководств о том, как это реализовать, за которыми, кстати, довольно легко следовать.

Ответ принят как подходящий

Вы можете просто сохранить эти идентификаторы в ArrayList типа Integer, например:

ArrayList<Integer> ids = new ArrayList<>();
ids.add(R.id.editText1);
ids.add(R.id.editText2);

Когда пользователь нажимает «Отправить», вы можете пройти через этот массив и делать то, что хотите. Если вы хотите изменить соответствующее значение в конце, вы можете сохранить Map вместо ArrayList.

Но я лично предлагаю использовать ListView или RecyclerView. Вы можете повторять представления с помощью адаптера и хранить свои данные как экземпляры класса, чтобы избежать подобных кодов.

Другие вопросы по теме