я очень расстроился, чтобы перерисовать диаграмму с помощью библиотеки achartengine, у меня есть удаление представления, но моя диаграмма просто создает новую на верхней диаграмме, я действительно запутался ... у меня есть любой метод поиска, но я не могу его получить .. это мой вопрос до : achartengine: как перерисовать/перерисовать диаграмму
как перерисовывать диаграмму каждый раз, когда я двигаю панель поиска?
это мой исходный код:
@Override
protected void onResume() {
// TODO Auto-generated method stub
super.onResume();
if (mChartView == null) {
lnChart = (LinearLayout) findViewById(R.id.chart);
mChartView = ChartFactory.getLineChartView(this, mDataset, mRenderer);
mChartView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
SeriesSelection seriesSelection = mChartView.getCurrentSeriesAndPoint();
double[] xy = mChartView.toRealPoint(0);
if (seriesSelection == null) {
Toast.makeText(getApplicationContext(), "tidak ada chart yang dipilih", Toast.LENGTH_SHORT)
.show();
} else {
Toast.makeText(
getApplicationContext(),
"Nilai " + listData.get(seriesSelection.getPointIndex()).getInuNilai()+
" tanggal " + listData.get(seriesSelection.getPointIndex()).getTanggal(),
Toast.LENGTH_SHORT).show();
}
}
});
lnChart.addView(mChartView, 0, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
}
else {
mChartView.repaint();
}
}
public void renderChart(ArrayList<NabDetail> listData) {
// TODO Auto-generated method stub
String seriesTitle = "";
XYSeries series = new XYSeries(seriesTitle);
mDataset.addSeries(series);
mCurrentSeries = series;
XYSeriesRenderer renderer = new XYSeriesRenderer();
renderer.setFillBelowLine(true);
renderer.setFillBelowLineColor(Color.TRANSPARENT);
renderer.setColor(Color.YELLOW);
mRenderer.addSeriesRenderer(renderer);
mRenderer.setInScroll(true);
mRenderer.setShowLegend(false);
//hide x label
mRenderer.setXLabels(RESULT_OK);
renderer.setFillPoints(true);
mCurrentRenderer = renderer;
for (int i = 0; i < listData.size(); i++) {
mCurrentSeries.add(i,listData.get(i).getInuNilai()
);
}
if (mChartView != null) {
lnChart.removeViewAt(0);
mChartView.repaint();
}
}
}
я использовал lnChart.removeViewAt(0);
mChartView.repaint();
, но моя диаграмма все еще не перерисовывалась... так как же перерисовывать и удалять диаграмму раньше? где я должен ввести правильный код?
пожалуйста .. я надеюсь, что кто-то может помочь мне решить эту проблему