установить цвет фона в списке и сохранить при прокрутке - PullRequest
0 голосов
/ 17 октября 2019
lv_monsterLayout.setOnItemClickListener(new AdapterView.OnItemClickListener() {
 @Override
 public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
     view.setBackgroundColor(GREEN); 
}

введите описание изображения здесь Это работает, чтобы установить цвет фона, но как только я прокручиваю вверх, цвет исчезает, любая помощь в том, как я могу сохранить цвет элемента, который я щелкнул при прокруткебыло бы здорово!

Ответы [ 2 ]

0 голосов
/ 18 октября 2019

В классе адаптеров я сделал

oneMonsterLine.setBackgroundColor(p.getColor());

Затем я перешел к своему Monster class

p.setColor(WHITE);

Теперь я могу перейти к элементу click

lv_monsterLayout.setOnItemClickListener(new AdapterView.OnItemClickListener() {
             @Override
             public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                 adapter.getItem(position).setColor(GREEN);
                 Log.d(TAG, "onItemClick: position" + position);
                 adapter.notifyDataSetChanged();
             }
         }); 

Я уверен, что есть лучший способ, но это сделало работу, не стесняйтесь отказаться от более простого способа сделать это.

0 голосов
/ 17 октября 2019

Добавьте поле color в вашей модели Monster, установите color при нажатии на предмет, и во время рендеринга проверьте значение цвета и соответственно установите цвет вида.

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