效果如下:

賬目顯示用的是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設置點擊、長按等事件監聽。
