円グラフを含む Android アプリを開発しようとしていました。グラフを生成するために aChartEngine を使用しましたが、円の特定のスライスに触れたりクリックしたりして関連データを取得することはできません。誰かがそのデータを取得する方法を知っていますか? これはすべてのチャート フレームワークに備わっている単純なことですが、javadoc でそれを実行できるメソッドを見つけることができず、そのようなものが存在するかどうか疑問に思っています。事前に感謝します。
1857 次
4 に答える
2
この機能はバージョン 1.0.0 で追加されました。SeriesSelection クラスを使用して、ポイント インデックス、シリーズ インデックス、値、および x 値を取得できます。GraphicalView チャートの getCurrentSeriesAndPoint() を使用してインスタンスを取得できます。
mChartView = ChartFactory.getPieChartView(this, mSeries, mRenderer);
mRenderer.setClickEnabled(true);
mRenderer.setSelectableBuffer(10);
mChartView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SeriesSelection seriesSelection = mChartView.getCurrentSeriesAndPoint();
if (seriesSelection == null) {
Toast
.makeText(PieChartBuilder.this, "No chart element was clicked",
Toast.LENGTH_SHORT)
.show();
} else {
Toast.makeText(
PieChartBuilder.this,
"Chart element data point index " + seriesSelection.getPointIndex()
+ " was clicked" + " point value=" + seriesSelection.getValue(),
Toast.LENGTH_SHORT).show();
}
}
});
于 2012-07-24T07:52:55.990 に答える
1
于 2012-01-19T14:09:57.707 に答える
0
mChartView = ChartFactory.getPieChartView(getActivity(),mSeries,mRenderer);
mChartView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SeriesSelection seriesSelection =mChartView.getCurrentSeriesAndPoint();
if (seriesSelection == null) {
} else {
for (int i = 0; i <mSeries.getItemCount(); i++) {
mRenderer.getSeriesRendererAt(i).setHighlighted(i == seriesSelection.getPointIndex());
}
mChartView.repaint();
// Toast.makeText( getActivity(), "Chart data point index " + seriesSelection.getPointIndex() + " selected" + " point value=" + seriesSelection.getValue(), Toast.LENGTH_SHORT).show();
}
}
});
mRenderer.setClickEnabled(true);
于 2014-04-23T05:49:30.870 に答える
0
于 2011-09-20T20:59:16.163 に答える