Я пытаюсь вызвать метод, который определен позже в моем файле Java:Можно вызвать другие методы из java-файла в методе onCreate в Android Studio?
public int moveHorizontal;
public int moveVertical;
public RelativeLayout relative1;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
relative1 = (RelativeLayout) findViewById(R.id.relative1);
moveHorizontal = width(1f/12f);
moveVertical = height(1f/12f);
}
...
public int width(float fraction) {
float relativeWidth = relative1.getWidth();
return Math.round(fraction*relativeWidth);
}
Однако, когда я бегу мое приложение в режиме отладки, я вижу, что moveHorizontal
и moveVertical
установлены на 0
. Я знаю, что метод работает нормально, поскольку я пытался использовать его в остальной части кода, чтобы найти width(1f/12f)
, и он возвращает 90
. Означает ли это, что я не могу назвать метод width
внутри метода onCreate
? И есть ли способ обойти это?
Вы пробовали отладку? Мне кажется более вероятным, что 'relative1.getWidth()' возвращает неожиданное значение (возможно, оно еще не нарисовано?) – John3136