2012年6月3日 星期日

在ListView中使用CheckBox

在ListView上如果加入Checkbox,在滑動時會發現明明只有打勾一個,下滑時卻有好多個被打勾,這時就必須使用BaseAdapter這個類別來自定ListView,先來釐清幾個重點再看範例會比較清楚。


//創建一個類別專門用來記錄每一列checkbox的狀態
 class check_msg {
  boolean ischeck;
  
  
  public check_msg(boolean ischeck,String text){
   this.ischeck=ischeck;
 
  }
  
 }


//宣告一個list陣列儲存的是check_msg 這個列別的狀態
ArrayList list2 = new ArrayList();



//用一個迴圈設定每一列的check初始狀態
list2.add(new check_msg(false));



//當checkbox狀態被點擊時變更狀態。       
                final check_msg msg = list2.get(arg0);
  viewHolder.cb1.setOnClickListener(new OnClickListener() {
   
   public void onClick(View v) {
    // TODO Auto-generated method stub
    msg.ischeck=!msg.ischeck;
   }
  });


最後附上源碼,包含ListView點擊後變色。
點左上角File的Download就可以下載
下載

星期、月份英文縮寫

中文 英文 3字母 縮寫 3字母 縮寫 2字母 縮寫 2字母 縮寫 1字母 縮寫 1字母 縮寫 其他 縮寫 星期日 Sunday SUN Sun SU Su S S 星期一 Monday MON Mon MO Mo M M 星期二 Tuesday TUE Tue TU ...