setContentView(R.layout.main);
이 메소드가 실행되면서 화면이 뜨는걸로 알고있는데
그 이후에 화면내용을 바꾸었는데 다른 액션이 (버튼을 누른다던지..) 실행되지 않으면
onCreate() 에서는 그 바꾼 내용이 적용되지 않더군요.
다른 액션이 일어나기 전에 화면을 update 해야 하는데
어떻게 하면 되는지 조언 부탁드립니다.
여기저기 찾아보니 뭐 큐를 프로세스 해야 화면이 바뀐다는데,,
쉬운거 같아 보이지만 잘 안되네요 ㅠㅠ
행복한 구정 맞으세요 ^^
activity life cycle 에 의거해서 화면이 그려집니당.
화면이 전환되기 전에 무언가 작업을 하시려면 onPause() 에서 해주면 되지 않을런지..
이런!!! 두분이 귀한글 남겨주셨는데 이제야 봤습니다. 일단 감사드리고요...
제 의도는,,,,, 예를들면... 초기화면에 main.xml 에 지정된 textview 에 뭔가 써넣어야 하는데 (초기화면 뜰때요)
항상 달라지기 때문에 초기값으로 지정해 놓을수가 없는거... 뭐 이런 건데요..
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
TextView title = (TextView)findViewById(R.id.m_title);
// 어디서 값을 읽어와서 초기화면에 띄우려고 함
title.setText(readData);
}
이런경우인데요... 초기화면에 저 title 을 같이 띄우는 방법이 있을까요???




질문의 요지를 제가 잘 이해를 못하겠네요 ^^;
일단 화면이 그려지는 것 자체는 onDraw() 가 호출될때 처음 시작되는 것으로 알고 있습니다.
원하는 작업 즉, 뷰를 새로 그리고 invalidate()를 호출하면 다시 onDraw() 가 호출되면서 화면이 다시 그려지니
onCreate 에서는 초기화에 해당하는 작업들만 작성하시고
새로 그릴 화면을 만드는 로직은 따로 메소드로 빼고 화면이 다시 그려질 필요가 있을 때 호출하고 invalidate 로 다시 그려주는
식으로 하면 되지 않을까 싶네요