好的,我解決了它,但我認爲還有更好的辦法!這是我做的:
1)我定義的全局HashMap
:
private HashMap<String,Object> spinnerMap = new HashMap<String, Object>();
2)在ViewBinder
(當微調被認爲是)我retrive各Spinner
的數量(它存儲在info.get (0)),以及i與旋轉器鏈接它,使用HashMap
:
spinnerMap.put(String.format("spinner %d", info.get(0)), spinner);
3)在ViewBinder
(當CheckBox
被認爲)1設定的enableSpinner(Spinner spinner, boolean b)
功能的CheckBox
的onClickListener
:
} else if(data instanceof String && view instanceof CheckBox) {
final CheckBox box = (CheckBox) view;
final String numero = (String) data;
box.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
if (box.isChecked()) {
enableSpinner((Spinner)spinnerMap.get(String.format("spinner %d", Integer.parseInt(numero))), true);
} else {
enableSpinner((Spinner)spinnerMap.get(String.format("spinner %d", Integer.parseInt(numero))), false);
}
}
});
return true;
}
4)最後,這裏的功能:
private void enableSpinner(Spinner spinner, boolean b) {
spinner.setEnabled(b);
}
這做工作......但你知道更好的辦法?
謝謝!
從`ListView`獲取`CheckBox`的行號。這將解決您的問題 – 2011-02-07 09:58:13