Как обработать фон строки в Android BaseAdapter? - PullRequest
1 голос
/ 06 октября 2011

Я изменяю цвет фона строки, если выборка данных из размера базы данных больше нуля, как серый, в противном случае ничего не меняется. Для первого элемента я устанавливаю папку по умолчанию и остаюсь в качестве имен списков для этих списков, также устанавливая фон такой же, как описано выше. Когда я прокручиваю список, меняются все задние позиции. Я знаю, что позиции меняются при прокрутке. Как решить эту проблему?

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

 if(position == 0)
        {
            holder.listName.setText("Default List");
            int c = //getting database table size
            if(c == 0 )
            {
                holder.rowLayout.setBackgroundColor(Color.GRAY);
            }
        }
        else
        {
            list =//getting lists from database(different table)
            if(list!=null)
            {
                holder.listName.setText(list.getListName());

            }
            if(list size==0)
            {
                holder.rowLayout.setBackgroundColor(Color.GRAY);
            }
        }

1 Ответ

0 голосов
/ 06 октября 2011

ListItem перерабатывается при прокрутке списка, поэтому вы получаете случайный фон для ListItem. Вы должны изменить фон ListItem на цвет по умолчанию.

следующим образом ..

if(list size==0)            
     holder.rowLayout.setBackgroundColor(Color.GRAY);       
else
     holder.rowLayout.setBackgroundColor(Color.BLACK);
...