하나의 액티비티 안에서 시간에 따라 장면이 전환되고, Image가 추가 되기도 하는 상황을 실험하고 있습니다.


그런데 최초 레이아웃 -> 다른 레이아웃 으로 전환된후,


전환된 레이아웃에 addView() 하니 NullPointerException이 발생합니다.



슈도 코드로 표현하면..


onCreate()

{
lay1id = (...) findViewById(...);

lay2id = ...

image1 = new Image...



setContentView(R.layout.lay1);


Thread(new Runnable() 

{ ... run()

{

Thread.sleep(...)

...


Handler.post( ... 

{

run()

{

setContentView(R.layout.lay2 );


lay2id.addView(); // <------------- 문제가 되는 부분

} ...

}

}

}


setContentView는  R.layout.XX이고

findViewById는 R.id.XXX 입니다. (여기서 설정 잘못해서 생긴 문제가 아닙니다..)


lay2는 addView()뿐만 아니라, setOnTouchListener() 같은것도 모두 안되는데...

(그냥 아예 NullPointer인것처럼...)


화면 전환 자체(setContentView)는 문제가 없는데,


lay2 메서드 실행시만 안되는데, 무슨 문제가 있는지 모르겠습니다.


이런 구조 자체가 애초에 문제가 되는건지, 제가 뭔가를 간과하고 있는건지 궁금합니다.



실력자 분들의 조언 부탁드립니다.