ListViewで複数選択をする方法

ListViewにて

複数選択をさせる方法
ただ単に複数選択用のxmlを適用しただけだとチェックボックスが反応してくれない
そこを自分で書く

ソース

String[] listItems = {"item1","item2","item3","item4"};
ListView list = (ListView)findViewById(android.R.id.list);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, listItems);
lstTagList.setOnItemClickListener(new OnItemClickListener() {
  @Override
  public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
    CheckedTextView item = (CheckedTextView)v;
    item.setChecked(!item.isChecked());
  }
});

チェックした項目

チェックした項目を取得するのは、ListViewクラスからだとやりかたがわからなかったから、onItemClickのときにクラス変数に入れてあげるとOK
ListViewクラスから取得できる方法ってないのかな〜?

追記

実装方法が間違っており、致命的なバグがあります。
本来のやり方を書きました。
http://d.hatena.ne.jp/tomorrowkey/20091013/1255435262