При нажатии на дни недели текст, который соответствует дню недели должен отображать свое содержимое в EditText. Как это сдалать?

У меня только один вариант в голове как это сделать - Это создать для каждого дня свои EditText и отображать их по нажатии на кнопки. Но для этого нужно создавать много EditText и это слишком долгий и как мне кажется не правильный вариант. Скажите пж как это можно реализовать по другому? И можно ли это сделать оставив эти 12 EditText и потом чтобы текст мы сами ставили туда [Вот изображение1


Ответы (1 шт):

Автор решения: Спицко Дмитрий

Вы можете спокойно задавать текст для EditText

edtText.setText(text);

Если число ячеек всегда одинаково, то можно сделать свою кастомную вьюшку, содержащую нужное число editText-ов, и имеющей метод setData(String[]). Если число editText разное, то я бы использовал RecyclerView. Может это и из пушки по воробьям, но "стандартно". Самому скрывать/показывать элементы списка такое себе занятие не по сложности и производительности, а по читаемости кода

//при клике по одному из дней недели
    public void onClick(v: View){
        int dayOfWeek = 0;
        switch(v.getId()){
             case R.id.mon: dayOfWeek = 0; break;
             case R.id.tue: dayOfWeek = 1; break;
             ...
        }
        String[] data = getDataForDay(dayOfWeek)
        editText0.setText(data[0])
        editText1.setText(data[1])
        editText2.setText(data[2])
        editText3.setText(data[3])
    }
→ Ссылка