当前位置: 编程技术>移动开发
android表格效果之ListView隔行变色实现代码
来源: 互联网 发布时间:2014-10-14
本文导语: 首先继承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 ...
首先继承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> 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,本人引用网络观点进行编写
代码如下:
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> 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,本人引用网络观点进行编写