런타임시 일부 레이아웃을 수행해야하는이 활동이 있습니다 (이 특정 인스턴스에서는 그룹 표시기가 기본 왼쪽 대신보기의 오른쪽에 정렬되도록 표시기 경계 (ExpandableListView.setIndicatorBound
)를 설정해야합니다.액티비티의 뷰를 수동으로 레이아웃하기에 좋은 시간입니까?
나는 나의 Activity:onCreate
에서이 코드를 가지고 :
int viewWidth = mListView.getWidth();
int groupIndicatorWidth = getResources().getDrawable(R.drawable.up).getMinimumWidth();
mListView.setIndicatorBounds(viewWidth - groupIndicatorWidth, viewWidth);
app.fetchItems(this);
을 아주 당연하게도, viewWidth
런타임에 0
밝혀
내 질문은 내가/과부하 때 t을 구현해야하는지 방법이다. 그는보기의 아이들이 배치되어 그들의 치수가 유효했을까요? 기본적으로 Windows에서는 일반적으로 OnSize/OnResize에 이러한 코드를 넣습니다.
Activity:onPostCreate
및 Activity:onPostResume
이 발견되었지만 문서에도 "응용 프로그램 코드가 실행 된 후에 시스템 클래스가 최종 초기화를 수행하기 위해 일반적으로이 메서드를 구현하지 않습니다"라는 내용이 있습니다.
편집
몇 가지 해결 방법이이 스레드가 나와 찾았 Android: Need to use onSizeChanged for View.getWidth/Height() in class extending Activity
바로 옆에있는 과업에 약간의 비트가 있지만 어쨌든 작동합니다! 감사. –