До OnCreate, OnResume, представление onStart еще не создано.Поэтому, если вы хотите получить высоту или ширину вида, выполните следующее и получите его
observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener()
{
@Override
public void onGlobalLayout()
{
SearchResultActivity.this.sideIndexHeight = SearchResultActivity.this.sideIndex.getHeight();
ViewTreeObserver obs = sideIndex.getViewTreeObserver();
obs.removeGlobalOnLayoutListener(this);
}
});
. Пожалуйста, получите новый TreeObserver для удаления, в противном случае вы получите исключение, TreeObserver не является живым
с переопределениемМетод onWindowFocusChanged, вы получаете высоту или ширину просмотра.Но если ваша деятельность запускается как дочерняя, то метод onWindowFocusChanged не будет вызван.Так что в этом случае используйте выше.