J’ai créé un widget personnalisé pour mon application Android et je veux créer des styles personnalisés pour elle. Mais lors de son parsing dans la classe, retourne toujours null. Passé par plusieurs liens et vous ne pouvez pas comprendre quel est le problème? Quelqu’un peut-il aider?
Mon atttr.xml est
Classe de widget
public Widget(Context context, AtsortingbuteSet attrs) { super(context, attrs); TypedArray attr = context.obtainStyledAtsortingbutes(attrs, R.styleable.Widget); Ssortingng[] columns = (Ssortingng[]) attr .getTextArray(R.styleable.Widget_headers); int height = attr.getInt(R.styleable.Widget_height, 0); }
Et le fichier de mise en page
Arrays.xml est
Header1 Header2 Header3
Avez-vous essayé de recycler le tableau à la fin du constructeur de vue? ce lien couvre la plupart des choses – création de vues personnalisées
Après avoir parcouru plusieurs exemples, j’ai compris le problème.
Vient de remplacer la ligne
TypedArray attr = context.obtainStyledAtsortingbutes(attrs, R.styleable.Widget);
avec ça
TypedArray attr = context.getTheme().obtainStyledAtsortingbutes(attrs, R.styleable.Widget,0,0)