2009-06-12 6 views
1

J'ai créé une coutume SurfaceView appelé CaptureView et essayé de l'ajouter dans le fichier main.xml:Comment éviter NullPointerException lors de l'utilisation des vues personnalisées ou SurfaceViews

<dev.recorder.client.CaptureView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/capturePreview"/> 

L'application semble fonctionner très bien, mais si je passe de main.xml onglet pour Mise en page dans Eclipse le texte NullPointerException apparaît au lieu de l'aperçu de la mise en page.

Dans l'activité que je binded le contrôle de la manière suivante:

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); 
} 

Est-ce que quelqu'un sait comment ce problème pourrait être résolu?

+0

Le problème est-il simplement qu'il ne vous donne pas l'aperçu correctement dans Eclipse? –

Répondre

2

Assurez-vous que vous initialisez la vue dans onFinishInflate et non dans le constructeur. le code de prévisualisation de la mise en page peut initialiser votre contrôle via un chemin de code différent.

Questions connexes