Android中动态改变Listview中字体的颜色
效果如下:

账目显示用的是Listview,要实现的功能为使其根据所在Item是“收入”还是“支出”来把数字设置成绿色或红色
方法是自定义适配器,并重写其中getView()函数,实现如下:
//自定义适配器
public class madaper extends SimpleAdapter{
public madaper(Context context, List<Map<String, Object>> items, int resource, String[] from, int[] to) {
super(context, items, resource, from, to);
}
public View getView(int position, View convertView, ViewGroup parent){
convertView=super.getView(position, convertView, parent);//获得当前生成的Item
TextView mon=(TextView)convertView.findViewById(R.id.mon);
TextView num=(TextView)convertView.findViewById(R.id.num);
//判断收支类型并设置数字颜色
if(mon.getText().toString().equals("支出"))num.setTextColor(Color.RED);
else num.setTextColor(Color.GREEN);
return convertView;
}
}
在适配器生成每一条Item时,都会执行一次getView(),因此在其中可以根据Item数据的不同来达到动态编辑的效果,类似的也可以为每一条Item设置点击、长按等事件监听。

浙公网安备 33010602011771号