2011-10-06 65 views
1

我正在改變行背景顏色,如果從數據庫大小獲取數據大於零爲灰色,否則不會改變任何東西。對於第一項我設置默認文件夾和剩餘列表名稱爲這些列表也設置背景相同的上面。當時我滾動列表中所有的空白位置都改變了。我知道滾動時位置正在改變。如何解決這個問題?如何處理Android BaseAdapter中的行背景?

第一個位置應該總是默認列表。我給的代碼片段理解的目的

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

讓你的問題更clearer.it真的很難理解你到底想要什麼。就像,你的意思是 - 「如果從數據庫大小提取數據大於零,否則不會改變任何東西」。如果數據庫大小爲零,如何將數據放入列表中?和「對於第一項我設置默認文件夾,並保留爲這些列表的列表名稱也設置背景相同,如上所述。」這是什麼意思?? – Hiral

+0

手段默認列表總是在第零的位置,如果元素不可用在任何列表項目(包括默認列表),我正在改變背景顏色爲灰色。我通過使用ArrayList 與數據庫檢索日期與setter/getter方法。 – ADIT

回答

0

滾動時,這就是爲什麼你得到的列表項隨機背景列表回收的列表項。您必須將ListItem的背景更改爲默認顏色。

如下..

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

感謝Sujit.Given解決方案工作正常。我忘了其他塊。 – ADIT