public class ChartView extends View {
private PieChart mPieChart = null;
private MainActivity parent;
public ChartView(Context context) {
super(context);
setFocusable(true);
parent = (MainActivity) context;
}
public ChartView(Context context, AttributeSet attrs){
super(context,attrs);
setFocusable(true);
parent = (MainActivity) context;
}
public ChartView(Context context, AttributeSet attrs, int defaultStyle)
{
super(context, attrs, defaultStyle);
setFocusable(true);
parent = (MainActivity) context;
}
public void makeChart(){
double[] values = new double[] {10,20,30,40};
int[] colors = new int[]{Color.CYAN, Color.MAGENTA, Color.YELLOW, Color.GREEN};
String[] texts = new String[] {"SAMPLE1", "SAMPEL2", "SAMPLE3", "SAMPLE4" };
DefaultRenderer renderer = new DefaultRenderer();
for(int color:colors){
SimpleSeriesRenderer ssr = new SimpleSeriesRenderer();
ssr.setColor(color);
renderer.addSeriesRenderer(ssr);
}
//CategorySeries(java.lang.String title)
CategorySeries series = new CategorySeries("계열 타이틀");
int count = 0;
for(double value: values){
//add(java.lang.String category, double value)
series.add(texts[count++],value);
}
mPieChart = new PieChart(series, renderer);
invalidate();
}
@Override
protected void onDraw(Canvas canvas)
{
int width = getMeasuredWidth();
int height = getMeasuredHeight();
Log.i("ChartView","onDraw->Width:"+width+"/height:"+height);
if (mPieChart != null)
mPieChart.draw(canvas, 0, 0, width-10, height-10,null);
}
}
파이 차트 그리기를 공부중인데요 mPieChart.draw(canvas, 0, 0, width-10, height-10,null); 이부분에서 오류가 자꾸나와서 안되는데 mPieChart가 null값이 아니면 가득차게 그릴려고 하는건데 어떻게 해야 오류가 나지않을까요?? 고수님들 제발 가르쳐주세요 ㅠㅠ