제목그대로 MPAndroidChart 를 이용하고 있는 와중 앱이 크러쉬가 나서 강제종료되었는데
로그확인해보니
java.lang.ArrayIndexOutOfBoundsException: length=12; index=100 이런 에러메시지를 가지고있었습니다.
아무리 구글링과 이틀동안 고쳐보아도 답이 나오지않네요... 어떤문제인지 잘모르겠습니다..
구성은 이렇습니다. 프라그먼트안에 버튼 4개가 존재하고 각 버튼을 클릭시 해당 그래프를 띄어줍니다.
url 주소를 이용해 데이터를 불러오는 api 메소드 두가지가 있는데 이게 문제점인것같습니다.
버튼 1,2 클릭 - 메소드1호출 / 버튼 3,4 클릭 - 메소드2호출 이런식으로 연결이되어있는데 버튼1,2는 잘 작동한다면 2에서 3으로 갈때 크러쉬가 나고 종료됩니다. 에러메세지는 위와같습니다.
이런식으로 무언가 차트 데이터를 초기화 시켜주는게 필요해보이는데 관련 글이나 정보주시면 감사하겠습니다.
chart.invalidate();
if( chart.getData() != null ) {
chart.getData().clearValues();
}
if( chart.getLineData() != null ) {
Integer cnt = chart.getLineData().getDataSetCount();
for( int i=0; i<cnt; i++) {
LineDataSet lineDataSet = (LineDataSet) chart.getLineData().getDataSetByIndex(i);
lineDataSet.clear();
}
}
chart.clear();