Я занимаюсь разработкой библиотеки для Android, и я получаю странную ошибку о статическом внутреннем классе, когда я использую его в примере проекта: «не может найти переменную символ»:ошибка сборки при использовании статического внутреннего класса
Это мой разложенном код:
Outer.java (проект SDK)
public class Outer {
[...] // Attributes and methods
public static class Inner {
public static int x = 42;
}
}
MainActivity.java (Sam проект PLE)
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: cannot find symbol Log.d("MainActivity", "x = " + Outer.Inner.x);
^
symbol: variable Inner
location: class Outer
Я еще один случай в моей SDK:
Мой класс "ImageHelper" имеет статический внутренний класс «Builder ».
Я использую его в своем SDK, и он работает, но когда я хочу использовать его в примере проекта, у меня такая же ошибка при запуске сборки.
Есть ошибки в моем коде?
Странно, работает здесь. Вы очистили свою сборку? Вот ответ с некоторыми подсказками и трюками ... http://stackoverflow.com/questions/25706216/what-does-a-cannot-find-symbol-compilation-error-mean – ElDuderino
ваш код выглядит нормально. покажите нам свой настоящий код. Попробуйте перестроить свой проект. – dit
Да, я очищаю и восстанавливаю снова и снова ^^ ' – titichop