如何在Android BaseAdapter中处理行背景?

时间:2011-10-06 05:46:33

标签: android baseadapter

如果从数据库大小获取数据大于零,我正在更改行背景颜色,否则不会改变任何内容。对于第一项我设置默认文件夹并保留为这些列表的列表名称,同样设置背景,如上所述。当我滚动列表时,所有的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);
            }
        }

1 个答案:

答案 0 :(得分:0)

滚动List时回收的ListItem就是为ListItem获取随机背景的原因。您必须将ListItem的背景更改为默认颜色。

如下..

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