2011-04-29 151 views
0

我试图更改列表中某些项目的颜色,但不是全部关闭它们。 Im使用适配器来加入列表,以便在按下按钮时显示它。 现在我不知道在哪里可以得到列表项的属性(如背景颜色)。如何更改列表项的背景颜色

的代码看起来像这样

公共无效visskema(查看视图) {

Calendar date =Calendar.getInstance(); 
    /*redigerer for offset*/ 
    long oldtime =date.getTimeInMillis(); 
    long newtime= oldtime +((long)offsetuger*7*1000*3600*24); 
    date.setTimeInMillis(newtime); 
    int weekofyear= date.get(Calendar.WEEK_OF_YEAR); 
    int dayofmonth= date.get(Calendar.DAY_OF_MONTH); 
    int month=date.get(Calendar.MONTH)+1; 
    int year=date.get(Calendar.YEAR); 

    Vector<Skemabrik> aktuelskema =webservicegetskemauge(username,domain,dayofmonth,month, year,weekofyear); 
    Vector<Skemabrik> sortetskema=sortskema(aktuelskema); 
    Vector<Skemabrik> endeligtskema=padskema(sortetskema); 
    if(endeligtskema.size()>0) 
    { 
     String[] fag =new String[endeligtskema.size()]; 
     for(int i=0;i<endeligtskema.size();i++) 
     { 
      Skemabrik brik =endeligtskema.get(i); 
      String temp =brikToString(brik);  
      fag[i]=temp; 
     } 
     ListView lv = new ListView(this); 
     //final TextView citytext = (TextView) findViewById(R.id.CITY); 
     lv.setAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,fag)); 

     lv.setOnItemClickListener(new OnItemClickListener() { 
      public void onItemClick(AdapterView<?> parent, View view, 
        int position, long id) { 
       // When clicked, show a toast with the TextView text 
       // System.out.println("bøh" + listtext); 
       setContentView(R.layout.skemauge); 



       // der skal sætttes billedet med de to knapper city og country og udfyldes værdi for country og city 
      } 
     }); 
     setContentView(lv); 
    } 
    else{ 
     setContentView(R.layout.skemauge); 
     TextView Eugenummer = (TextView) findViewById(R.id.ugenummer); 
     Eugenummer.setText("Du har ingen timer i denne uge"); 
    } 
} 

,如果有人能告诉我怎样和在哪里得到的TextView的的适配器,以便我可以改变背景颜色我会感激它:)(即时通讯相当新的android:D)

回答

1

你必须实现自己的自定义列表适配器ter并覆盖getView方法。 你可以参考this example

+0

感谢您的答复,我会尝试。 – Morten 2011-05-02 06:49:04

+0

尝试了几天后,我不知道它的getview我想改变,我想在列表显示之前设置颜色。当我在列表中选择项目时,我认为getview被使用了吗? – Morten 2011-05-04 12:34:24

+0

getView在每次列表项自动绘制时调用,在listview显示,在listview滚动等方式。因此,如果你在这里定义你的颜色,它将在每个列表项显示之前设置。 – ernazm 2011-05-04 13:19:39