首页 > 系统 > Android > 正文

android表格效果之ListView隔行变色实现代码

2019-10-24 21:05:38
字体:
来源:转载
供稿:网友
首先继承SimpleAdapter再使用重载的Adapter来达到效果,其实主要是需要重载SimpleAdapter,感兴趣的朋友可以研究下,希望本文可以帮助到你
 
首先继承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,本人引用网络观点进行编写

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表