11

例如:

int width = 720;
int height = 1280;

我想创建一个 Camera.Size。

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

但它有一些错误。

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).
4

2 回答 2

19

实际上,需要稍微不同的语法:

Camera camera = Camera.open();
Camera.Size size = camera.new Size(width, height);
于 2014-09-08T19:01:29.427 回答
9

我知道您很久以前就发布了您的问题,但我对此错误有一些解释。正如您在此处看到的,Size 类在 Camera 类中被声明为公共(但非静态)。您可以在此处找到有关此架构的一些信息。

因此,要创建一个新的 Camera.Size 对象,您必须从创建一个 Camera 对象开始。

Camera camera = Camera.open();

然后你可以创建你的 Camera.Size 对象:

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

我不确定您是否真的想使用这种方式来执行此操作,但这是对您的错误的解释。

于 2013-08-20T08:51:44.537 回答