У меня есть макет с кнопкой. Когда я нажимаю кнопку, появляется диалоговое окно с круговой диаграммой. Для простоты я использую статические значения. Я нажимаю кнопку «Назад», чтобы отменить диалог, затем снова нажмите кнопку, чтобы отобразить диалог с круговой диаграммой, но диаграмма отсутствует, все, что у меня есть, - это пустой диалог. В чем причина?Achartengine - круговая диаграмма исчезает в диалоге
Btw, у меня есть еще одна кнопка в этом макете, чтобы показать другую диаграмму. Независимо от того, какой график я показываю первым, другой не появляется после этого.
Мне нужно перезагрузить операцию (макет), чтобы снова показать график (за один раз, затем он снова исчезает).
Я использую tabactivity, если это имеет значение.
btnnumpie = (Button)findViewById(R.id.btnnumpie);
btnnumpie.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
dialog_num = new Dialog(Summary.this);
dialog_num.setContentView(R.layout.dialog_pie_numdur);
dialog_num.setTitle("Pie Chart");
dialog_num.setCancelable(true);
CategorySeries series = new CategorySeries("Number of calls");
series.add("Incoming (" + 20 + "%)" , 20);
series.add("Outgoing (" + 50 + "%)" , 50);
series.add("Missed (" +20 + "%)" , 20);
int[] colors = new int [] {Color.rgb(33, 115, 6), Color.rgb(27, 82, 171), Color.rgb(206, 13, 13)};
DefaultRenderer renderer = new DefaultRenderer();
for (int color: colors){
SimpleSeriesRenderer r = new SimpleSeriesRenderer();
r.setColor(color);
renderer.addSeriesRenderer(r);
}
renderer.setFitLegend(true);
renderer.setLabelsColor(Color.BLACK);
renderer.setLabelsTextSize(16);
renderer.setShowLegend(false);
if (mChartView == null) {
LinearLayout graphpie = (LinearLayout)dialog_num.findViewById(R.id.graphpie);
mChartView = ChartFactory.getPieChartView(Summary.this, series, renderer);
graphpie.addView(mChartView, new LayoutParams
(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
} else {
mChartView.repaint();
}
dialog_num.show();
}
});