Ich habe eine benutzerdefinierte Ansicht (die GLSurfaceView erweitert) Ich versuche, in meiner App zu verwenden. Das XML-Layout, das es verwendet, scheint korrekt geladen zu werden (Attribute, die ich für die Ansicht festgelegt habe, werden angewendet), aber weder der Konstruktor der Ansicht noch die onFinishInflate-Methode werden für die Klasse aufgerufen. Ich sollte auch hinzufügen, dass ich neu auf der Android-Plattform bin, so ist dies wahrscheinlich ein dummer Fehler.Weder Konstruktor noch onFinishInflate für benutzerdefinierte Ansicht aufgerufen
Hier ist meine 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>
Die Chartview ist der Brauch GLSurfaceView. Dieses Layout ist geladen und die ChartView ist wie angegeben grün hinterlegt. Jedoch geschieht nichts von meinem Setup (im Code) dafür. Ich habe versucht, es in den beiden Konstruktoren und in den onFinishInflate-Methoden zu platzieren, aber sie werden unerklärlicherweise nicht aufgerufen. Ich habe überprüft, dass der Klassenname korrekt ist (die xxx.yyy sind nur die Unternehmen in diesem Beitrag nicht zu verstecken.
Ich habe auch eine andere Form der XML-Referenz versuche
<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"/>
Aber diese stirbt, wenn sagt der Aktivität Laden, dass der Konstruktor
Chartview (Context Kontext AttributeSet attrs)
existiert nicht (obwohl es sicherlich in meinem Code ist).
Wer hat irgendwelche Tipps bekommen, was passieren könnte?
Fügen Sie den Java-Code der Ansicht ein. – Cristian