android表格效果--ListView隔行变色

android表格效果--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);
}

 

其实主要是需要重载SimpleAdapter,本人引用网络观点进行编写

你可能感兴趣的:(android表格效果--ListView隔行变色)