소프트웨어/Android/Java/Ndk
안드로이드] findViewById 가 계속 Null을 뿜을때
cs만두
2013. 7. 21. 10:41
이때 처리는 간단하다.
일단 이유부터 알자면..
onCreate가 시작하자마자 setContentView를 이용해 사용자가 추가하려는 main Xml의 id들이 등록되었다.
그런데 사용자가 또 다른 xml의 추가를 원할때(즉, 메인 xml파일이아니라 따른 레이아웃 xml파일을 쓰려고 할때) 당연히 사용자는 '내가 xml파일을 추가시켰는데 당연히 되야지 왜 안될까? 라는 생각을 갖게된다.
이런...내가그랬다.
이럴때는 동적으로 레이아웃을 추가해주어야하는데
LayoutInflater inflater0 = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
LinearLayout linear0=(LinearLayout)inflater0.inflate(R.layout.ms_custom_touchcontroller, null);
LinearLayout.LayoutParams paramlinear0 = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
addContentView(linear0, paramlinear0);
아래와같이 인플레이터를 사용하여 사용하고자 하는 xml파일을 등록해주고 사용해야한다.
끗