물에 살고싶은 개발자

리스트뷰 사용시 간과하면 안되는것(feat.null 포인트 익셉션) 본문

Android

리스트뷰 사용시 간과하면 안되는것(feat.null 포인트 익셉션)

돼지사랑 2017. 4. 24. 17:21

안드로이드 코딩을 하다보면 리스트뷰를 반드시(한없이 100%에 가깝게 수렴..하지만 아닐수도있음)


리스트뷰 라는 녀석을 맞이하게 된다.


뭐 사용법이라던가 기본적인 주의할점은 다른 블로그에도 엄청나게 널렸으니 난 내가 겪은것만ㅋ


리스트뷰를 쓰게되면 보통 리스트뷰를 갖고있는 부모 레이아웃(xml파일)이 있고


그 부모 레이아웃이 뿌려주게 되는 자식 레이아웃이 있다.


자식 레이아웃을 보통 아이템이라는 표현을 쓰는데


부모 레이아웃을 컨트롤하는 액티비티 클래스(java파일)에서 객체를 연결할때


자식 레이아웃, 즉 아이템에 있는 위젯을 연결할 경우 찾지못하고 널포인트 익셉션을 뿌리게 된다.


얨병 멀쩡하게 다른거 다 당연하게 그렇게 해놓고 그걸 간과하고 액티비티 클래스에서 삽질을 했네..


어댑터에서 해줘야할일을 액티비티에다가 시켜버렸으니 못찾을수밖에..


명심하자 액티비티에선 


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contentview);


이렇게 세팅한 액티비티에 있는 녀석 '만' findById로 찾아다 준다

저렇게 보라색으로 변하는건 R에만 있으면 뜨는거고, 실제로 인스턴스화는 해당 레이아웃에 있는 녀석만 되니까 

절대 간과하지말자 


ㅅㅂ 안드로이드스튜디오문제인줄알았네


Comments