使用静态内部类时构建错误

时间:2015-03-24 13:43:47

标签: java android class static inner-classes

我正在为Android开发一个库,当我在一个示例项目中使用它时,我不断得到一个关于静态内部类的奇怪错误:“找不到符号变量”:

这是我的因素代码:

Outer.java (SDK项目)

public class Outer {

    [...] // Attributes and methods

    public static class Inner {
        public static int x = 42; 
    }
}

MainActivity.java (示例项目)

import com.xxx.xxx.Outer;

public class MainActivity extends Activity {

    [...] // Attributes

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Log.d("MainActivity", "x = " + Outer.Inner.x);
    }
}

这是日志错误:

  

... / sample / MainActivity.java:54:error:找不到符号          Log.d(“MainActivity”,“x =”+ Outer.Inner.x);
                                        ^

   符号:变量内部
   位置:类外部

我的另一个案例是我的SDK:

我的类“ImageHelper”有一个静态内部类“Builder”。

我将它用于我的SDK并且它可以工作,但是当我想在示例项目中使用它时,我在构建运行时遇到了同样的错误。

我的代码中是否有错误?

1 个答案:

答案 0 :(得分:0)

您是否尝试编译自己的剪切代码?当我自己编译时,它工作正常。也许它(提供剪切)也适合你,你的完整程序使用不同的类?

根据您的代码

import com.xxx.xxx.Outer;
外部代码中的包的缺省行和你的项目可能没有一个外部但很多,其中一个没有内部静态类。