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.
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:
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
Sie müssen Ihre Ansicht im Layout-XML wie folgt angeben:
%Vor%So wird es funktionieren.
Tags und Links android surfaceview graphics