我正在学习本教程,因为它正是我所需要的:
http://www.marvinlabs.com/2010/10/custom-listview-ability-check-items/
不幸的是,他们的网站已关闭,所以我使用的是缓存版本:
我正在为我的项目行创建自定义RelativeLayout
的步骤。我在代码中遇到一些错误,我不知道如何修复它们。例如,在这些行上:
for (Checkable c : checkableViews) {
// Pass the information to all the child Checkable widgets
c.setChecked(isChecked);
}
我收到此错误:
Type mismatch: cannot convert from element type Object to Checkable
我以前从未使用Checkable
,也不知道它是如何工作的。
有人可以帮忙实现吗?
答案 0 :(得分:1)
您可以将对象强制转换为Checkable对象:
for (int i = 0; i < checkableViews.size(); i++) {
Checkable c = (Checkable) checkableViews.get(i);
// Pass the information to all the child Checkable widgets
c.setChecked(isChecked);
}
甚至可以更好地在声明列表时提供存储在列表中的对象类型,例如:
List<Checkable> checkableList;
checkableList = new ArrayList<Checkable>();
然后您的原始for
循环应该可以正常工作。