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设置点击、长按等事件监听。

原文地址:https://www.cnblogs.com/liuleliu/p/12300483.html