2014-09-02 52 views
1

正在使用AChartEngine庫在我的項目中顯示數據的PieChart視圖。起初,我創建數據集渲染查看錶廠創建餅圖和其工作的罰款。對於如餅圖性別如何在Android中的微調項目單擊上重新創建餅圖(AChartEngine)?

OnCreate(){ 
    malecount = 3; 
    femalecount = 1; 

    createpiechart(); // Creating PieChart initially 
} 

此代碼工作正常。 PieChart與男性&女性有2種不同的顏色,被稱爲靜態。 現在我爲過濾器添加Spinner,爲該微調器添加事件OnItemSelectedListener

String selectedItem = parent.getItemAtPosition(position).toString(); 
if(selectedItem.equals("Last Week")) 
{ 
    malecount = 2; femalecount = 1; // clear existing values from temp memory and add new values 
    mSeries.clear(); // clear the dataset 

    createpiechart(); // recreate piechart 
} 
在於創建 餅圖方法如之前再次執行相同的代碼

private void createpiechart() { 

    VALUES = new int[] { malecount, femalecount }; 
    mRenderer.setChartTitle("Gender"); 
    mRenderer.setChartTitleTextSize(20); 
    mRenderer.setLabelsColor(0xff000000); // Black color 
    mRenderer.setLabelsTextSize(15); 
    mRenderer.setLegendTextSize(15); 
    mRenderer.setMargins(new int[] { 20, 30, 15, 0 }); 
    mRenderer.setZoomButtonsVisible(true); 
    mRenderer.setStartAngle(90); 


    for (int i = 0; i < VALUES.length; i++) { 

     mSeries.add(NAME_LIST[i] + " " + VALUES[i], VALUES[i]); 
     SimpleSeriesRenderer renderer = new SimpleSeriesRenderer(); 
     renderer.setColor(COLORS[(mSeries.getItemCount() - 1) 
           % COLORS.length]); 
     mRenderer.addSeriesRenderer(renderer); 
    } 

    if (mChartView != null) { 
     mChartView.repaint(); 
    } 

    if (mChartView == null) { 
     LinearLayout layout = (LinearLayout) findViewById(R.id.chart); 
     mChartView = ChartFactory.getPieChartView(this, mSeries, mRenderer); 
     mRenderer.setClickEnabled(true); 
     mRenderer.setSelectableBuffer(10); 

     mChartView.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View arg0) { 
       // nothing 
      } 
     }); 
     layout.addView(mChartView, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT)); 
    } 
    else { 
     mChartView.repaint(); 
    } 
} 

執行相同的代碼綠色和藍色男&女在底部更改白色後,我需要同色上映之前。檢查下面的這張圖片,並幫助我如何改變這種顏色回來或這個代碼有什麼問題?

enter image description here

+0

你好餅圖是Recreatedd烏爾不Chaning或餅圖排圖的 – 2014-09-02 06:56:54

+0

Chnage值當u要重新創建圖表 – 2014-09-02 06:57:57

+0

對不起是新來AChartEngine,CAN你告訴如何改變這個值? – Sri 2014-09-02 07:46:26

回答

2

就明確數據集和渲染器,然後通過新的價值。

要清除數據集

int size = dataset.getSeriesCount(); 
for (int i = 0; i < size; i++) { 
dataset.removeSeries(0); 
} 

要清除渲染renderer.removeAllRenderers();

相關問題