私はViewPager内でachartengineを実装しています。チャートを保持するビューには、表示するデータを選択できる7つのオプションがあるスピンナがあります。 6つのオプションはPieChartViewを返し、最後のオプションはTimeChartViewを返します。achartengine switch chart type in view
PieChartViewグラフは、予想どおりに更新および再描画されますが、TimeChartViewオプションを選択しても何も起こりません。ビューは以前選択されたPieChartViewにとどまり、エラーをスローしません。私はTimeChartViewをアプリケーションのどこかで正常に実装しました。コードとグラフを供給するデータの比較でフラグがスローされていないので、グラフタイプを切り替える方法が間違っているとしか思えません。
以下のコード抽出は、ビューの切り替えを扱う部分です。任意のアドバイスをいただければ幸いです。
try{
//if mChartView is already created (has data)
//we need to invalidate it because it will only accept
//data less than or equal to the length of data it currently has
if(mChartView != null){
mChartView.invalidate();
}
if(graphType >= 6){
mChartView = ChartFactory.getTimeChartView(ctx, mDataset, genericXYRenderer, "MM/dd");
genericXYRenderer.setClickEnabled(false);
}else{
mChartView = ChartFactory.getPieChartView(ctx, genericSeries, genericRenderer);
genericRenderer.setClickEnabled(false);
genericRenderer.setSelectableBuffer(10);
}
layout.addView(mChartView, new LayoutParams(
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
mChartView.repaint();
} catch (Exception e) {
Log.e("[appname]", "Error trying to set ChartView", e);
m_Logger = new Logger();
m_Logger.error(e);
}
多くのおかげで、 デイブ