Получение всех похожих view. Android

157
07 марта 2019, 18:40

Дано приложение где есть много одинаковых view и button,

где каждая кнопка + каждого view имеет свой уникальный id.Например plus1 у первой, plus2 у второй и т.д. Как мне в коде получить все элементы сразу, чтоб не писать для каждой кнпоки отдельно ImageButton plus1 = findViewById(R.id.plus1); ?

Answer 1

Например, так:

Resources res = getResources();
myButtons = new ArrayList();
for (int i = 0; i < NUMBER_OF_VIEWS; i++) {
    myButtons.add((ImageButton)findViewById(res.getIdentifier("plus"+ String.valueOf(i+1), "id", getPackageName())));
}

Не знаю логику приложения, но мне кажется, что для удобства лучше вообще вынести view+button в отдельный класс MyView (например) и работать с ArrayList<MyView>: .getView(), .getButton() и т.п.

READ ALSO
Как разбить число на части?

Как разбить число на части?

Есть число формата DDDDDRRRPCНужно отделить C, P, RRR, DDDDDD

174
Конвертация java в Kotlin

Конвертация java в Kotlin

Пишу приложение по статье, но только на Kotline

144
Массив кнопок добавить в Layout через метод OnCreate

Массив кнопок добавить в Layout через метод OnCreate

Мне нужно чтобы при запуске приложения вызывался метод который добавляет на экран массив кнопок, который находится в отдельном классепробовал...

173