Я создал собственный подкласс View со следующим конструктором:
public MyCustomView(Context context, AttributeSet attrs)
{
super(context, attrs);
// get custom "thingy" attribute specified in XML
int thingy = attrs.getAttributeIntValue(MY_NAMESPACE, "thingy", 0);
//rest of constructor
...
}
Как видно, он берет пользовательский атрибут «thingy» из своих XML-атрибутов. Это работает абсолютно нормально, и до сих пор у меня не было проблем. Почему же тогда Google предлагает вам определить XML-атрибуты пользовательского представления в declare-styleable
в res/values/attrs.xml
(обсуждается здесь) и применить их, позвонив по телефону context.getTheme().obtainStyledAttributes()
(обсуждается здесь)?