2015-05-09 61 views
0

饼图不显示在下面的代码中。屏幕是空白的。 我没有得到任何代码中的错误。为什么饼图不显示?

public class PieGraphOnExpensesForAGivenDateRange extends Activity { 
    public Intent getIntent(Context context) { 
     int[] values = {1, 2, 3, 4, 5}; 
     CategorySeries series = new CategorySeries("Pie Graph"); 
     int k = 0; 
     for (int value : values) { 
      series.add("Section" + ++k, value); 
     } 
     int[] colors = {Color.BLUE, Color.GREEN, Color.MAGENTA, Color.YELLOW, Color.CYAN}; 
     DefaultRenderer renderer = new DefaultRenderer(); 
     for (int color : colors) { 
      SimpleSeriesRenderer r = new SimpleSeriesRenderer(); 
      r.setColor(color); 
      renderer.addSeriesRenderer(r); 
     } 
     Intent intent = ChartFactory.getPieChartIntent(context, series, renderer, "Pie"); 
     return intent; 
    } 
} 
+0

当您逐步完成代码时会发生什么? –

+0

你的清单中是否有互联网许可?顺便说一句,你使用任何图表库 –

+0

当我通过代码时,它没有进入公开意图..方法。代码转到instrumentation.java,然后屏幕变为空白。 – user3144078

回答

0

以下程序对我来说工作正常。

private void openChart(){ 
  
        // Pie Chart Section Names 
        String[] code = new String[] { 
            "Eclair & Older", "Froyo", "Gingerbread", "Honeycomb", 
            "IceCream Sandwich", "Jelly Bean" 
        }; 
  
        // Pie Chart Section Value 
        double[] distribution = { 3.9, 12.9, 55.8, 1.9, 23.7, 1.8 } ; 
  
        // Color of each Pie Chart Sections 
        int[] colors = { Color.BLUE, Color.MAGENTA, Color.GREEN, Color.CYAN, Color.RED, 
                        Color.YELLOW }; 
  
        // Instantiating CategorySeries to plot Pie Chart 
        CategorySeries distributionSeries = new CategorySeries(" Android version distribution as on October 1, 2012"); 
        for(int i=0 ;i < distribution.length;i++){ 
            // Adding a slice with its values and name to the Pie Chart 
            distributionSeries.add(code[i], distribution[i]); 
        } 
  
        // Instantiating a renderer for the Pie Chart 
        DefaultRenderer defaultRenderer  = new DefaultRenderer(); 
        for(int i = 0 ;i<distribution.length;i++){ 
            SimpleSeriesRenderer seriesRenderer = new SimpleSeriesRenderer(); 
            seriesRenderer.setColor(colors[i]); 
            seriesRenderer.setDisplayChartValues(true); 
            // Adding a renderer for a slice 
            defaultRenderer.addSeriesRenderer(seriesRenderer); 
        } 
  
        defaultRenderer.setChartTitle("Android version distribution as on October 1, 2012 "); 
        defaultRenderer.setChartTitleTextSize(20); 
        defaultRenderer.setZoomButtonsVisible(true); 
  
        // Creating an intent to plot bar chart using dataset and multipleRenderer 
        Intent intent = ChartFactory.getPieChartIntent(getBaseContext(), distributionSeries , defaultRenderer, "AChartEnginePieChartDemo"); 
  
        // Start Activity 
        startActivity(intent); 
  
    } 

希望它有帮助。