2014-05-02 2 views
0

Je reçois cette erreur bizarre dans mon code aappareil photo Android et SurfaceView ne fonctionne pas

ne peut pas résoudre

theese 'surfaceCallback' symbole sont mes importations actuelles

import android.content.Intent; 
import android.hardware.Camera; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.support.v4.app.FragmentManager; 
import android.support.v7.app.ActionBar; 
import android.support.v7.app.ActionBarActivity; 
import android.view.LayoutInflater; 
import android.view.Menu; 
import android.view.MenuItem; 
import android.view.SurfaceHolder; 
import android.view.SurfaceView; 
import android.view.View; 
import android.view.ViewGroup; 
import android.widget.ArrayAdapter; 
import android.widget.TextView; 
+0

votre erreur de publier logcat ici. – prakash

+0

Je n'ai pas encore exécuté le code, puisque je ne peux pas le compiler avec cette erreur :( –

+0

avez-vous implémenté l'interface de retour de surfacecall –

Répondre

0

met en œuvre SurfaceHolder.Callback sur Activité et passe this en addCallBack();

0

SurfaceHolder.Callback est liée à sa surface.

Interface abstraite avec une personne tenant une surface d'affichage. Vous permet de contrôler la taille et le format de la surface, de modifier les pixels de la surface et de surveiller les modifications apportées à la surface. Cette interface est généralement disponible via la classe SurfaceView.

Lors de l'utilisation de cette interface à partir d'un thread autre que celui exécutant SurfaceView, vous devez lire attentivement les méthodes lockCanvas() et Callback.surfaceCreated().

Vous devez implémenter l'interface SurfaceCallback de SurfaceView comme ci-dessous:

public class callbackSurfaceMethod implements SurfaceHolder.Callback{ 
    @Override 
public void surfaceCreated(SurfaceHolder holder) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void surfaceChanged(SurfaceHolder holder, int format, int width, 
     int height) { 
    // TODO Auto-generated method stub 

} 

@Override 
public void surfaceDestroyed(SurfaceHolder holder) { 
    // TODO Auto-generated method stub 

} 

changement dans votre code.

surfaceView = (SurfaceView)findViewById(R.id.surfaceview); 
surfaceHolder = surfaceView.getHolder(); 
surfaceHolder.addCallback(callbackSurfaceMethod); 
+0

mais j'implémente déjà 'ActionBar.OnNavigationListener' –

+0

Son lié à 'SurfaceView' pas' ActionBar ' – GrIsHu

+0

je sais, mais vous ne pouvez pas implémenter plus d'une librairie –

0

essayer ce code,

surfaceView = (SurfaceView)findViewById(R.id.surfaceview); 
surfaceHolder = surfaceView.getHolder(); 
surfaceHolder.addCallback(this); 
surfaceHolder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS); 
Questions connexes