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 に答える