Come evitare NullPointerException quando si usa Visualizzazioni personalizzate o SurfaceViews
-
13-09-2019 - |
Domanda
Ho creato un SurfaceView
personalizzata denominata CaptureView
e provato ad aggiungere in file di main.xml
:
<dev.recorder.client.CaptureView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/capturePreview"/>
L'applicazione sembra funzionare bene, ma se posso passare dalla scheda main.xml
al layout in Eclipse il NullPointerException
testo appare invece del layout di anteprima.
Nel Activity ho binded i controlli nel seguente modo:
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);
}
Qualcuno sa come questo problema potrebbe essere risolto?
Soluzione
assicurarsi che si inizializza la visualizzazione in onFinishInflate e non nel costruttore. il codice del layout anteprima potrebbe inizializzare il controllo attraverso un percorso di codice diverso.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow