2013-08-26 65 views
2

我有以下列表視圖:列表視圖背景色不會得到更新

<ListView 
     android:id="@+id/listView1" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_alignLeft="@+id/textView1" 
     android:layout_below="@+id/textView1" > 
    </ListView> 

我想更新它的第一個第n列的背景顏色。

對於我使用:

int numOfMessages=lst.length-lstNew.length; 
ArrayAdapter<String> adpt = new ArrayAdapter<String>(Messages.this, android.R.layout.simple_list_item_1,lst); 
lm.setAdapter(adpt); 
for (int i=1;i<numOfMessages;i++) 
{ 
tv.setText("Welcome " + i); 
lm.getChildAt(i).setBackgroundColor(Color.BLUE); 
tv.setText("Welcome : " + i); 
} 

但有一點錯行:

lm.getChildAt(i).setBackgroundColor(Color.BLUE); 

由於後控制不進一步發展。

請幫我改變textview dynamicaly的背景顏色。

+0

編寫定製的ArrayAdapter,如http://stackoverflow.com/questions/4008571/custom-arrayadapter-setbackground-in-getview中所述 – trebron

回答

1

,你可以得到它:

ArrayAdapter<String> adpt = new ArrayAdapter<String>(Messages.this, android.R.layout.simple_list_item_1,lst){ 
     @Override 
     public View getView(int position, View convertView, ViewGroup parent) { 
      View v = super.getView(position, convertView, parent); 
      if(position==2){ 
      v.setBackgroundColor(Color.BLUE); 
      }else if(position==4){ 
      v.setBackgroundColor(Color.RED); 
      } 
      return v; 
     } 
    }; 

這樣的事情該行要....

0

首先,你應該轉換lm.getChildAt(我)到這裏specifique類型... 例:如果lm.getChildAt(i)是一個TextView寫這樣的:

TextView txtv1 = (TextView)lm.getChildAt(i); 
txtv1.setBackgroundColor(Color.BLUE); 
+0

lm是listview。 –

+0

這是完全錯誤的。 –

1

試試這個代碼:

ArrayAdapter<String> adpt = new ArrayAdapter<String>(Messages.this, android.R.layout.simple_list_item_1,lst){ 
      @Override 
      public View getView(int position, View convertView, ViewGroup parent) { 
       View v = super.getView(position, convertView, parent); 
       v.setBackgroundColor(Color.BLUE); 
       return v; 
      } 
     }; 
+0

給我ViewGroup上的錯誤... ViewGroup無法解析爲類型 –

+0

導入它'導入android.view.ViewGroup;',或者點擊'ctrl + shift + o'來修復導入。 –

+0

先生,應用程序沒有運行,它不顯示我loginform,也沒有告訴我什麼在logcat中,plz指導我 –