Я получаю это исключение, когда я пытаюсь расшириться
07-22 19:15:39.903: ERROR/AndroidRuntime (3810): Вызванный: java.lang. ClassCastException: android.widget. RelativeLayout
У меня есть базовый класс:
public class UIBase extends RelativeLayout {}
И более определенный класс:
public class Countdown extends UIBase {}
Затем я пытаюсь расшириться и это исключения:
UIBase newView = (UIBase) inflater.inflate(layoutId, parent, true);
Вот XML-файл:
<?xml version="1.0" encoding="utf-8"?>
<com.Countdown xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/countdown"
android:layout_alignParentTop="true"
android:layout_alignParentRight="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
<TextView
android:id="@+id/countdownText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:text="0" />
</com.Countdown>
Кто-либо знает то, что я делаю неправильно?
Согласно документации, inflate () возвращает "корневое представление расширенной иерархии. Если root был указан и attachToRoot истинно, это root; в противном случае это корень расширенного XML. file. "
Поскольку вы передали значение true, возвращаемое значение -" parent ", которое, очевидно, не является производным от UIBase.