ListView 各行变色写法

首先继承SimpleAdapter

package  meetweb.net.util;
 
import  java.util.List;
import  java.util.Map;
 
import  android.content.Context;
import  android.graphics.Color;
import  android.view.View;
import  android.view.ViewGroup;
import  android.widget.SimpleAdapter;
 
public  class  SpecialAdapter extends  SimpleAdapter {
 
     private  int [] colors= new  int []{ 0x30FF0000 , 0x300000FF }; //这里没有引用进去使用,只是简单引用数组运算
     public  SpecialAdapter(Context context, List<? extends  Map<String, ?>> data,
             int  resource, String[] from, int [] to) {
         super (context, data, resource, from, to);
         
     }
     
     @Override
     public  View getView( int  position ,View convertView,ViewGroup parent){
         View view= super .getView(position, convertView, parent);
         int  colorPos=position%colors.length;
         if (colorPos== 1 )
                view.setBackgroundColor(Color.argb( 250 , 255 , 255 , 255 )); //颜色设置
         else
             view.setBackgroundColor(Color.argb( 255 , 224 , 243 , 250 )); //颜色设置
return  view; } }

 第二,使用重载的Adapter来达到效果

import meetweb.net.util.SpecialAdapter;
。。。。。

private SpecialAdapter simpleAdapter = null;

public void ShowData(){ 
RateList = rateService.findAll();
System.out.println(RateList);
LVrate=(ListView) this.findViewById(R.id.lvrate);
simpleAdapter = new SpecialAdapter(this, RateList, R.layout.accuratelistitem, new String[]{"yearlimit","year1","year2"}, 
new int[]{R.id.tv_yearlimit,R.id.tv_year1,R.id.tv_year2});
LVrate.setAdapter(simpleAdapter);
//listView.setOnItemClickListener(listener);
}

 

你可能感兴趣的:(ListView 各行变色写法)