0
private Button deleteSel;

c.moveToFirst();
while(!c.isAfterLast())
{
tskId[i] = c.getInt(0);
tskType[i] = c.getString(1);
tskDate[i] = c.getString(2);
taskStatus[i] = (c.getString(3).equals("true"))? true : false;
alarmStatus[i] = (c.getString(4).equals("true"))? true : false;

i++;
c.moveToNext();
}
List<HashMap<String,String>> aList = new ArrayList<HashMap<String,String>>();
//aList = new ArrayList<HashMap<String,String>>();

for(i=0;i<c.getCount();i++){
hm = new HashMap<String,String>();

hm.put("txtTitle", tskType[i]);
hm.put("txtTime",tskDate[i]);

aList.add(hm);

}
c.close();

CustomListAdapter listAdapter = new CustomListAdapter(this ,    R.layout.deletes_supporting , aList);
lstvwDelete.setAdapter(listAdapter);
}

//customListAdapter は、リストビューを設計するためのユーザー定義クラスです。現在、deleteButton を使用してユーザーがチェックした項目を削除したいと考えています。助けてください...

4

1 に答える 1

0

これを行う 1 つの方法は、チェックボックスをタスク ID に関連付けることです。CustomListAdapter で、チェックボックスの ID をタスク ID に設定できます。

checkBoxViewHolder.setId(listItems.get(position).getId());

アクティビティでこのようなことができるようになりました。

deleteButton.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                //int i = 0;
                for(int i = 0;i < tasks.size(); i++) {                      
                    int taskId = tasks.get(i).getId();
                    CheckBox cb = (CheckBox)taskListView.getChildAt(i).findViewById(taskId);
                    if(cb.isChecked()) {                            
                        dbAdapter.deleteTask(taskId);                           
                    }
                }
            }               
        });
于 2013-03-28T16:43:47.117 に答える