setContentView()
을 호출 한 후 뷰에 대한 정보를 얻는 데 문제가 있습니다. 나는 단추를 클릭 한 후 활동의 레이아웃을 바꾸고있다. 다음은 내 코드 예제입니다.setContentView() 메서드를 기다리는 중
public void onClickButton1(View v) {
setContentView(R.layout.activity_main);
setScreen();
}
그러나 실행 setScreen()
방법을 durring, 레이아웃은 아직 렌더링되지 않습니다, 그래서 (각각 I는하지만 항상 0을 얻을 수 있습니다) 레이아웃을위한 몇 가지보기에 getWidth()
를 호출 할 수 없습니다. setContentView()
까지 어떻게 기다릴 수 있습니까? 다음을 사용하십시오.
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
setScreen();
}
으로 충분하지 않습니다. 활동주기에 따라 레이아웃을 독립적으로 변경해야합니다.
왜 내가 새로운'Activity' 또는'Fragments'를 사용하는 대신이 방법을 사용하고 있는지 물어볼 수 있습니까? 이것은 일반적으로 좋은 방법이 아닙니다. IMHO – codeMagic
저는 안드로이드 개발에 아주 새로운데, 어떻게하는 것이 가장 쉬운 방법 인 것처럼 보였습니다. 내 접근 방식을 바꿔야 할지도 모른다. 고마워요 많이 – Mara
나는 활동과 조각을 사용하는 방법에 대한 codeMagic에 동의하는 동안 안드로이드에 대한 코딩을 통해 자신의 방식을 배우고있는 사람을 위해 나는 무엇을 의미하는 시간에 작동하는 것이 좋습니다 ... 그냥 메모리/장치 지원/안정성. 자바와 안드로이드/그레블 개발에 대한 생각을 시작하면 효율적인 방법/방법을 배우는 며칠 안에 어플리에서 응용 프로그램을 다시 제작할 수 있습니다. – Mayhem