Wie Nullpointer zu vermeiden, wenn benutzerdefinierte Ansichten oder SurfaceViews mit
-
13-09-2019 - |
Frage
Ich habe eine benutzerdefinierte SurfaceView
genannt CaptureView
und versuchte, sie in main.xml
Datei hinzuzufügen:
<dev.recorder.client.CaptureView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/capturePreview"/>
Die Anwendung scheint gut zu funktionieren, aber wenn ich von main.xml
Registerkarte zu Layout in Eclipse schaltet der Text NullPointerException
erscheint anstelle von Layout-Vorschau.
In der Aktivität I die Bedienelemente die folgende Art und Weise binded:
setContentView(R.layout.main);
bindControls();
private void bindControls()
{
videoPreview = (CaptureView)findViewById(R.id.capturePreview);
txtstatus = (TextView)findViewById(R.id.txtMode);
txtTimer = (TextView)findViewById(R.id.txtTime);
}
Wer weiß, wie dieses Problem gelöst werden könnte?
Lösung
stellen Sie sicher, dass Sie die Ansicht in onFinishInflate und nicht im Konstruktor initialisiert wird. der Layout-Vorschau Code könnte Ihre Kontrolle über einen anderen Codepfad initialisiert werden.
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow