在Android中将超级类转换为子类

时间:2013-07-02 17:47:01

标签: java android superclass

我创建了一个名为CalendarCell的类,它扩展了TextView,我在TableLayout中向TableRow添加了一些实例,我想循环遍历这些实例并在其中使用一些方法,但是,方法“getVirtualChildAt” TableRow返回一个View,而不是CalendarCell,我无法从View(或TextView)中投射(显然)吨CalendarCell

1 个答案:

答案 0 :(得分:1)

由于CalendarCell类扩展TextView View的子类,您可以检查检索到的对象是否是CalendarCell的实例,然后将其安全地转换为CalendarCell实例。

View view = tableRow.getVirtualChildAt(i);
if (view instanceof CalendarCell) {
  CalendarCell calendarCell = (CalendarCell) view;
  // Here you can access calendarCell object
}