2012-09-30 9 views
10

Por ejemplo:Cómo inicializar un nuevo Camera.Size en Android

int width = 720; 
int height = 1280; 

Quiero crear una Camera.Size.

Camera.Size size = new Camera.Size(width,height); 

Pero tiene algún error.

No enclosing instance of type Camera is accessible. Must qualify the allocation with an enclosing instance of type Camera (e.g. x.new A() where x is an instance of Camera). 

Respuesta

9

Sé que ha publicado su pregunta hace mucho tiempo, pero tengo alguna explicación sobre este error. Como puede ver here, el Tamaño de clase se declara como público (pero no estático) en la clase Cámara. Puede encontrar información sobre esta arquitectura here.

Así que para crear un nuevo objeto Camera.Size, hay que empezar por crear un objeto de la cámara.

Camera camera = Camera.open(); 

A continuación, puede crear el objeto de Camera.Size:

Camera.Size size = camera.new Camera.Size(width, height); 

No estoy seguro de que realmente desea utilizar esta manera de hacer esto, pero esta es la explicación acerca de su error.

16

En realidad, se requiere una sintaxis ligeramente diferente:

Camera camera = Camera.open(); 
Camera.Size size = camera.new Size(width, height); 
+0

Esto funcionó para mí. ¡Muchas gracias! No sabía que necesitaba usar camera.new. ¡Increíble! – sunlover3

Cuestiones relacionadas