1

我正在关注本教程,因为它正是我所需要的:

http://www.marvinlabs.com/2010/10/custom-listview-ability-check-items/

不幸的是,他们的网站已关闭,所以我使用的是缓存版本:

http://webcache.googleusercontent.com/search?q=cache:pXvzFq7UR-sJ:www.marvinlabs.com/2010/10/custom-listview-ability-check-items/+&cd=1&hl=en&ct=clnk&gl=us

我已完成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,不知道效果如何。

有人可以帮助实现这一点吗?

4

1 回答 1

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循环应该可以正常工作。

于 2012-07-30T23:08:31.090 回答