-4

这是我的代码:

protected static Bitmap scaleImage() { 
Bitmap nad =    BitmapFactory.decodeFile(path);

return nad;
}

“路径”是一个全局变量,它给了我一个错误说明:无法对非静态字段路径进行静态引用......可能是因为路径是一个字符串,而不是一个静态的......但是如何否则我可以在这里访问其他变量吗?我尝试浏览文档,但找不到任何东西。

4

2 回答 2

3

您的变量path在您的类中声明如下:

String path;

这意味着它是一个实例变量,属于您的类的特定副本。scaleImage()不属于任何特定副本,因此您不能使用path,因为系统无法知道您的意思是哪个副本。

这个方法可能应该path作为一个参数而不是硬编码,或者它不应该static并且应该在类的特定实例上调用。

于 2013-09-11T20:37:50.003 回答
0

本质上,你走在正确的轨道上。path必须是static。它是类中的成员变量是不够的 - 类级别的变量不是自动static的(这将是一个问题)。

Java中不存在全局变量,所以我猜你说的是在类级别声明的变量。(变量在类中,类在包中,包可以在其他包中 - 所以它远非“全局”。)

于 2013-09-11T20:38:43.957 回答