2012-03-19 16 views
1

私はachartengineの助けを借りて円グラフを作成しました。今度はclickコマンドを設定して、ユーザーが円グラフをクリックすると新しいビューが開きます。円グラフの異なる楔の異なるビュー。私はiTouchHandlerで試してみましたが、私は触れないでください。私は私はあなたがクリックリスナーを追加する方法がわからない...achartengineを使用して円グラフをクリックして追加する方法

import org.achartengine.ChartFactory; 
import org.achartengine.ITouchHandler; 
import org.achartengine.model.CategorySeries; 
import org.achartengine.renderer.DefaultRenderer; 
import org.achartengine.renderer.SimpleSeriesRenderer; 
import org.achartengine.tools.PanListener; 
import org.achartengine.tools.ZoomListener; 

import android.content.Context; 
import android.content.Intent; 
import android.graphics.Color; 
import android.os.storage.OnObbStateChangeListener; 
import android.view.MotionEvent; 
import android.view.View.OnClickListener; 

public class PieChart implements ITouchHandler 
{ 
public Intent getIntent(Context context) 
{ 
    double[] values = new double[] {12, 14, 11, 10,2}; 
    int[] colors = new int[] {Color.BLUE, Color.GREEN, Color.MAGENTA, Color.YELLOW, Color.CYAN}; 
    DefaultRenderer renderer = buildCategoryRenderer(colors); 
    renderer.setLabelsTextSize(10); 
    return ChartFactory.getPieChartIntent(context, buildCategoryDataset("Project budget", values), renderer,"pie"); 
    } 
protected DefaultRenderer buildCategoryRenderer(int[] colors) { 
    DefaultRenderer renderer = new DefaultRenderer(); 
    renderer.setBackgroundColor(Color.WHITE); 
    renderer.setPanEnabled(false); 
    renderer.setClickEnabled(true); 
    renderer.getSelectableBuffer(); 
    renderer.setAntialiasing(true); 
    renderer.setApplyBackgroundColor(true); 
    renderer.setLegendTextSize(30); 

    for (int color : colors) { 
     SimpleSeriesRenderer r = new SimpleSeriesRenderer(); 
     r.setColor(color); 
     r.setDisplayChartValues(false); 

     renderer.addSeriesRenderer(r); 
    } 
    return renderer; 
    } 
protected CategorySeries buildCategoryDataset(String title, double[] values) { 
    CategorySeries series = new CategorySeries(title); 
    int k = 0; 
    for (double value : values) { 
     series.add("Project " + ++k, value); 
    } 

    return series; 

} 
public void addPanListener(PanListener arg0) { 
    // TODO Auto-generated method stub 

} 
public void addZoomListener(ZoomListener arg0) { 
    // TODO Auto-generated method stub 

} 
public boolean handleTouch(MotionEvent arg0) { 
    // TODO Auto-generated method stub 
    System.out.println("lskdflk"); 

    return false; 
} 
public void removePanListener(PanListener arg0) { 
    // TODO Auto-generated method stub 

} 
public void removeZoomListener(ZoomListener arg0) { 
    // TODO Auto-generated method stub 

} 
} 

答えて

0

をレンダラにonClickEnabled(true)を設定するが、どのように私に助けてください、それは私の命令を聞いて作る。..コードを以下に示していますチャートアクティビティ

可能であれば、​​3210を使用してを表示し、返されたビューでsetOnClickListener()を呼び出すことができます。

関連する問題