效果如下:
账目显示用的是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设置点击、长按等事件监听。