[問題] SimpleAdapter 與 checkbox (已解決)
各位先進您好,目前嚐試練習to do list的實作,根
據以往小弟的的撰寫喜歡,所以在寫ListView時我喜
歡採用SimpleAdapter來實作,但以前再練習時,都是
練習設計使用者離開程式時才順便將checkbox的狀態
給儲存起來,所以比較沒有即時性的問題,但這次我想
要當使用者按下checkbox時,商品的名稱就會被畫掉,
但會發現,沒有很辦法即時地將線畫出來(一定要等使
用者按到item click的觸發getview後才能改變),以下
是我getview的程式碼:
@Override
public View getView(final int position, View convertView, ViewGroup
parent) {
View view = super.getView(position, convertView, parent);
//****** LayoutView find View By Id ******************
ImageView iv_todolist_typ =
(ImageView)view.findViewById(R.id.iv_todolist_type);
final TextView tv_todolist_itemname = (TextView)
view.findViewById(R.id.tv_todolist_itemname);
final CheckBox cb_todolist_check = (CheckBox)
view.findViewById(R.id.cb_todolist_check);
iv_todolist_typ.setImageDrawable(adapterContext.getResources().getDrawable(R.drawable.todo_image));
//-----------
cb_todolist_check.setOnCheckedChangeListener(new
CompoundButton.OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
// TODO Auto-generated method stub
if(isChecked){
tv_todolist_itemname.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);
todoitem_check.set(position, ITEMCHEKED);
}else{
tv_todolist_itemname.getPaint().setFlags(Paint.ANTI_ALIAS_FLAG); ;
todoitem_check.set(position, ITEMUNCHEKED);
}
}
});
return view;
}
不知是否可以請各位先進提供一些方向呢?
是否有辦法在checkbox的listener下呼叫refresh或notifyDataSetChanged呢?
還有一個小問題就是,這個listview我有保留OnItemClickListener的功能
而當我使check box的狀態變為勾選的狀態時假設如下:
1. buy ■
2. apple □
3. XDDDD □
此時我隨便按一下個item,都會有短暫的時間,會使得
第一列的checkbox 勾選狀態消失,而第三列的checkbox 變成勾選 O_Q"
約過1秒左右就會回復正常。
奇怪的是…我是使用Sony ARC S 2.3.4版測試、也嚐試用模擬器的2.3.3版測
試都會有一樣的問題,但!!!!!!我換到4.3版就不會有這種情況
所以想請問各位先進這兩個問題,希望各位大哥能給我一點方向,謝謝。m(_ _)m
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 42.67.158.89
推
01/19 15:19, , 1F
01/19 15:19, 1F
→
01/19 15:21, , 2F
01/19 15:21, 2F
→
01/19 15:21, , 3F
01/19 15:21, 3F
※ 編輯: Griffith 來自: 210.240.38.36 (01/19 15:48)
→
01/19 15:49, , 4F
01/19 15:49, 4F
→
01/19 15:50, , 5F
01/19 15:50, 5F
→
01/19 15:51, , 6F
01/19 15:51, 6F
→
01/19 15:51, , 7F
01/19 15:51, 7F
→
01/19 15:52, , 8F
01/19 15:52, 8F
→
01/19 15:53, , 9F
01/19 15:53, 9F
→
01/19 15:54, , 10F
01/19 15:54, 10F
→
01/19 15:54, , 11F
01/19 15:54, 11F
→
01/19 15:55, , 12F
01/19 15:55, 12F
→
01/19 15:56, , 13F
01/19 15:56, 13F
→
01/19 15:56, , 14F
01/19 15:56, 14F
→
01/19 15:56, , 15F
01/19 15:56, 15F
推
01/19 16:02, , 16F
01/19 16:02, 16F
→
01/19 16:05, , 17F
01/19 16:05, 17F