fragment내에서 버튼을 눌렀을 시 arrayList로 값을 받아와서
차트를 그리도록 하려는데요. 첫번째 코드처럼 통째로 돌리면 정상작동하지만
마지막 코드처럼 arrayList길이에 따라서 다르게 차트를 그리려고 하면
앱이 강제종료됩니다. 도움 부탁드립니다...
entries.add(new BarEntry (1, Float.parseFloat(m1.arr.get(1))));
entries.add(new BarEntry (2, Float.parseFloat(m1.arr.get(2))));
entries.add(new BarEntry (3, Float.parseFloat(m1.arr.get(3))));
barChart = (BarChart) view.findViewById(R.id.feedChart);
BarData barData = new BarData(); // 차트에 담길 데이터
BarDataSet barDataSet = new BarDataSet(entries, "bardataset"); // 데이터가 담긴 Arraylist 를 BarDataSet 으로 변환한다.
barDataSet.setColor(Color.BLUE); // 해당 BarDataSet 색 설정 :: 각 막대 과 관련된 세팅은 여기서 설정한다.
barData.addDataSet(barDataSet); // 해당 BarDataSet 을 적용될 차트에 들어갈 DataSet 에 넣는다.
barChart.setData(barData); // 차트에 위의 DataSet 을 넣는다.
barChart.invalidate(); // 차트 업데이트
barChart.setTouchEnabled(false);
if(cnt == 1){
entries.add(new BarEntry (1, Float.parseFloat(m1.arr.get(1))));
barChart = (BarChart) view.findViewById(R.id.feedChart);
BarData barData = new BarData(); // 차트에 담길 데이터
BarDataSet barDataSet = new BarDataSet(entries, "bardataset"); // 데이터가 담긴 Arraylist 를 BarDataSet 으로 변환한다.
barDataSet.setColor(Color.BLUE); // 해당 BarDataSet 색 설정 :: 각 막대 과 관련된 세팅은 여기서 설정한다.
barData.addDataSet(barDataSet); // 해당 BarDataSet 을 적용될 차트에 들어갈 DataSet 에 넣는다.
barChart.setData(barData); // 차트에 위의 DataSet 을 넣는다.
barChart.invalidate(); // 차트 업데이트
barChart.setTouchEnabled(false);
}
else if(cnt == 2){
entries.add(new BarEntry (1, Float.parseFloat(m1.arr.get(1))));
entries.add(new BarEntry (2, Float.parseFloat(m1.arr.get(2))));
barChart = (BarChart) view.findViewById(R.id.feedChart);
BarData barData = new BarData(); // 차트에 담길 데이터
BarDataSet barDataSet = new BarDataSet(entries, "bardataset"); // 데이터가 담긴 Arraylist 를 BarDataSet 으로 변환한다.
barDataSet.setColor(Color.BLUE); // 해당 BarDataSet 색 설정 :: 각 막대 과 관련된 세팅은 여기서 설정한다.
barData.addDataSet(barDataSet); // 해당 BarDataSet 을 적용될 차트에 들어갈 DataSet 에 넣는다.
barChart.setData(barData); // 차트에 위의 DataSet 을 넣는다.
barChart.invalidate(); // 차트 업데이트
barChart.setTouchEnabled(false);
}