アダプタが構築するListView内のチェックボックスでクリックイベントをキャプチャし、ListViewを開始したビューで使用する必要があるanArrayListを構築しています
HiddenChannelsListAdapter.java
これは、getView()のcustomAdapater部分です。
public class HiddenChannelsListAdapter extends BaseAdapter {
public ArrayList<String> slist;
CheckBox checkbox = (CheckBox) convertView.findViewById(R.id.check_channel);
checkbox.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
{
if ( isChecked ) {
if ( !slist.contains(i.get("id")) )
slist.add(i.get("id"));
} else {
for (int j=0;j<slist.size();j++) {
if ( slist.get(j) == i.get("id") ) {
slist.remove(j);
}
}
}
}
});
今私のクラスでChannelsDialogPreference.java:
@Override
public void onClick (DialogInterface dialog, int which)
{
super.onClick(dialog, which);
if(which == -1) {
**here I need that slist ArrayList**
}
}