1

如果从数据库大小中获取的数据大于零,我将更改行背景颜色为灰色,否则不会更改任何内容。对于第一项,我设置默认文件夹并保留作为这些列表的列表名称,也设置与上面相同的背景。当我滚动列表中的所有免费位置都已更改..我知道滚动时位置正在更改。如何解决这个问题?

第一个位置应该始终是默认列表。我提供代码片段以了解目的

 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);
            }
        }
4

1 回答 1

0

当您滚动列表时,ListItem 被回收,这就是您获得 ListItem 随机背景的原因。您必须将 ListItem 的背景更改为默认颜色。

如下..

if(list size==0)            
     holder.rowLayout.setBackgroundColor(Color.GRAY);       
else
     holder.rowLayout.setBackgroundColor(Color.BLACK);
于 2011-10-06T05:54:27.417 回答