Android: Absturz: Binäre XML-Dateizeile: Fehler beim Auflösen der Klasse (mit SurfaceView)

8

Ich habe eine Android-Oberflächenansicht und versuche, dazu Schaltflächen hinzuzufügen. In der Oberflächenansicht Leinwand zeichne ich etwas. Und ich habe eine Thread-Klasse, um weiter zu zeichnen.

%Vor%

Die Thread-Klasse

%Vor%

Die Oberflächenansicht & amp; die Klasse zum Zeichnen

%Vor%

Hier ist die main.xml

%Vor%

PROBLEM:  Der obige Code funktioniert NUR , wenn ich "MySurfaceView" nicht als geschachtelte Klasse habe. aber mit der äußeren Klasse "test" bekomme ich den folgenden Fehler. Wenn ich den "Klassentest" entfernen es funktioniert gut.

Fehler / Absturz

%Vor%

Jede Hilfe wird großartig sein ... Ich stecke damit fest.

    
m4n07 29.04.2011, 06:42
quelle

1 Antwort

11

Zuerst müssen Sie Ihre Ansicht als static type deklarieren, damit sie auch dann aufgebläht werden kann, wenn keine Instanz der Halteklasse verfügbar ist:

%Vor%

Die Zeile

%Vor%

in Ihrem Layout xml schlägt vor, dass die Klasse MySurfaceView im Paket com.androidsurfaceview.test ist und versucht, sie von dort aufzublasen, was falsch ist.

In Ihrem Layout sollten Sie der Deklarationsform package.class $ innerclass folgen.

ABER Da "$" ein unzulässiger Charakter ist, können Sie nicht

schreiben %Vor%

Sie müssen Ihre Ansicht im Layout-XML wie folgt angeben:

%Vor%

So wird es funktionieren.

    
rekaszeru 29.04.2011, 07:51
quelle

Tags und Links