문제 해결

[Android] ViewHolder 패턴을 사용하면서 생긴 오류 문제해결

토아드 2018. 9. 2. 18:30
반응형

 SQLiteDatabase에서 값을 받아 Custom ListView를 만들어 보여주는 액티비티를 작성하던 중에 Viewholder가 null reference 에러가 나는 상황이 발생했다.


 ViewHolder 패턴을 이용한지 얼마 되지 않아서 오타나 놓친 부분이 있을것이라 생각되어 꼼꼼히 코드를 다 살펴 봤지만 오류가나는 리스트뷰와 정상적으로 동작하는 다른 리스트뷰 코드와 차이점이 전혀 보이질 않았다.


 꽤 오래 씨름을 하고 난뒤 다른 부분을 찾아 보니 데이터베이스에서 받아오는 값에 문제가 있었다.


 작성중인 리스트뷰가

 

String Group_name

Integer word_number


 를 뷰로 가지는 리스트뷰였는데, 실제로 받아오는 데이터베이스는

 

incorrect_word text

incorrect_word_meaning text

incorrect_word_group_name text


 로 이루어져 있던 것이다. 여기서 rawQuery로 Cursor값을 받아오면서 


String Group_name <-- incorrect_word text (getString)

Integer word_number <--incorrect_word_meaning text (getInt)


 로 대입했던 것이다. 이 과정에서 text로 선언된 데이터를 Int로 받아오면서 런타임 에러가 생기게 되었고, IDE로도 잡을 수 없었던 것이다.

 

 다음부터는 이런 오류가 나면 해당 모듈과 관련된 주변 모듈들이 어떤 것이 있는지 잘 살펴 봐야 될 것 같다.

반응형