ListView 各行变色写法

来源:互联网 发布:php在线升级原理 编辑:程序博客网 时间:2024/05/21 09:52

首先继承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 SpecialAdapterextends 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);
}

 

0 0
原创粉丝点击