Все классы в Android, которые могут быть созданы с использованием XML, имеют конструкторы формы:
Context context, AttributeSet attrs, int defStyle
Что такое параметр defstyle?
Ответ 1
Все представления снабжают этот конструктор, поэтому каждый подкласс может использовать свой собственный базовый стиль при раздувании.
Для параметра, я хотел бы процитировать docs для View-Class:
defStyle Используемый стиль по умолчанию к этой точке зрения. Если 0, стиль не будет применяется (помимо того, что включено в тема). Это может быть либо ресурс атрибута, значение которого будет быть извлеченным из текущей темы, или явный ресурс стиля.
Ответ 2
Кажется, что это нарушено для пользовательских представлений, которые программно предоставляют стиль по умолчанию через конструктор, см. код google issue.
Ответ 3
Цитата из alanv, член проекта, "Документация неверна. Третий конструктор должен быть атрибутом, например R.attr. *"