Я не уверен на 100% в этом, но позвольте мне попробовать. Пара вещей может происходить. Синтаксический анализатор может неправильно понимать атрибут class
(например, он считает, что он является частью таблицы стилей). Я не уверен, как синтаксический анализатор обрабатывает атрибут класса, так как я никогда не видел и не использовал его (фактически, я никогда не видел, чтобы использовался также тег <View>
). Лучшее объяснение, однако, может быть следующим: анализатор пытается преобразовать ваш View
в класс packageName.myView
и терпит неудачу (понижающее приведение всегда рискованно; повышающее приведение всегда безопасно).
Независимо от того, что происходит, я бы всегда использовал второй вариант, который вы перечислили, <packageName.myView android:id...>
, вместо тега <View>
. Причина в том, что использование тега <View>
является излишним. Все в этом XML-файле должно быть представлением (LinearLayout, Button, TextView и т. Д. Являются потомками класса View).
Надеюсь, это поможет. Если вам действительно очень интересно, вы всегда можете скачать исходный код для парсера ...