如何创建实现Clickable的自定义RelativeLayout?

时间:2012-07-30 22:47:54

标签: android android-layout android-listview

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

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,也不知道它是如何工作的。

有人可以帮忙实现吗?

1 个答案:

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

相关问题