J'ai une vue personnalisée (qui étend GLSurfaceView) que j'essaie d'utiliser dans mon application. La mise en page xml qui l'utilise semble être chargée correctement (les attributs que j'ai définis pour la vue sont appliqués), mais ni le constructeur de la vue ni la méthode onFinishInflate ne sont appelés pour la classe. Je devrais également ajouter que je suis nouveau sur la plate-forme android donc c'est probablement une erreur stupide.Ni constructeur, ni onFinishInflate appelé pour l'affichage personnalisé
Voici mon main.xml
<?xml version="1.0" encoding="utf-8"?>
#<!-- Status Bar -->
<LinearLayout
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_weight="0"
android:background="@drawable/status_bkg">
#<!-- Location label -->
<TextView
android:text="Location"
android:textColor="#FFFFFF"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
#<!-- Date/Time label -->
<TextView
android:text="Date and Time"
android:textColor="#FFFFFF"
android:layout_weight="1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="right" />
</LinearLayout>
#<!-- ChartView -->
<View class="com.xxx.yyy.ChartView" android:id="@+id/chartView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00FF00"
android:layout_weight="1">
</View>
Le ChartView est le GLSurfaceView personnalisé. Cette mise en page est chargée et ChartView a un arrière-plan vert comme spécifié. Cependant, aucune de mes installations (en code) ne se passe pour cela. J'ai essayé de le placer dans les deux constructeurs et dans les méthodes onFinishInflate, mais ils ne sont pas appelés de façon inexplicable. Je l'ai vérifié que le nom de classe est correcte (la xxx.yyy sont juste pour cacher la société dans ce poste.
J'ai aussi essayé une forme différente de la référence xml
<com.xxx.yyy.ChartView android:id="@+id/chartView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#00FF00"
android:layout_weight="1"/>
Mais cette meurt lors du chargement de l'activité dit que le constructeur
ChartView (contexte de contexte, attrs AttributeSet)
n'existe pas (bien qu'il soit certainement dans mon code).
Quelqu'un at-il des conseils sur ce qui pourrait se passer?
Collez le code Java de la vue. – Cristian