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

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM