Цвет фона линейного макета не изменяется программно - PullRequest
0 голосов
/ 03 июня 2018

Я создаю журнал активности для времени блокировки и разблокировки, и мне нужно, чтобы мой цвет фона был отсортирован в соответствии с блокировкой или разблокировкой.Тем не менее, я не могу изменить цвет фона моего линейного макета, независимо от того, что я положил.Спасибо за помощь

1 Ответ

0 голосов
/ 03 июня 2018

Удалите этот код из MainActivity

 LayoutInflater inflater = LayoutInflater.from(getApplicationContext());
        View view = inflater.inflate(R.layout.list_item, null);
        final LinearLayout layout= (LinearLayout) view.findViewById(R.id.damsi);

Удалите эти строки из OnDataChangedMethod

if (entry.getKey().equals("LockTime")) {
                        System.out.println(entry.getKey());
                        layout.setBackgroundColor(Color.parseColor("#FFB71616"));
                    }
                    if (entry.getKey().equals("UnlockTime")) {
                        System.out.println(entry.getKey());
                        layout.setBackgroundColor(Color.parseColor("#FFB71616"));
                    }

В своем классе ViewHolder добавьте эти строки в конструктор ваших виджетов.

layout= (LinearLayout) view.findViewById(R.id.damsi);

Добавьте эти строки в метод onBindViewHolder.

String key = listItem.getHead();
if(key.equals("LockTime"))
{
    System.out.println(entry.getKey());
    layout.setBackgroundColor(Color.parseColor("#FFB71616"));
}
if(key..equals("UnlockTime")){
    System.out.println(entry.getKey());
    layout.setBackgroundColor(Color.parseColor("#FF001600"));
    //I changed the color as both were having same hexcodes :P
}
holder.textViewHead.setText(listItem.getHead());
holder.textViewDesc.setText(listItem.getDesc());
...