private void setData(PieChartVO chart) { List<PieUnit> list = chart.getData(); if (list == null || list.size() == 0) { return; } int length = list.size(); String[] titles = new String[length]; ArrayList<Entry> entrys = new ArrayList<Entry>(); int[] colors = new int[length]; for (int i = 0; i < length; i++) { PieUnit bean = list.get(i); titles[i] = bean.getTitle(); entrys.add(new Entry(bean.getValue(), i)); colors[i] = BUtility.parseColor(bean.getColor()); } PieDataSet set1 = new PieDataSet(entrys, ""); set1.setSliceSpace(3f); set1.setDrawValues(chart.isShowValue()); set1.setValueTextColor(chart.getValueTextColor()); set1.setValueTextSize(chart.getValueTextSize()); set1.setColors(colors); if (chart.isShowPercent()) { set1.setValueFormatter(new PercentFormatter()); } else { if (chart.isShowUnit()) { set1.setValueFormatter(new ValueUnitFormatter(chart.getUnit())); } } PieData data = new PieData(titles, set1); mChart.setData(data); // undo all highlights mChart.highlightValues(null); mChart.invalidate(); }