如果从数据库大小获取数据大于零,我正在更改行背景颜色,否则不会改变任何内容。对于第一项我设置默认文件夹并保留为这些列表的列表名称,同样设置背景,如上所述。当我滚动列表时,所有的bacground位置都会改变。我知道滚动时位置在变化。如何解决这个问题?
第一个位置应始终为默认列表。我正在为了解目的而提供代码片段
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);
}
}
答案 0 :(得分:0)
滚动List时回收的ListItem就是为ListItem获取随机背景的原因。您必须将ListItem的背景更改为默认颜色。
如下..
if(list size==0)
holder.rowLayout.setBackgroundColor(Color.GRAY);
else
holder.rowLayout.setBackgroundColor(Color.BLACK);