【问题标题】:Android and achartengine: resetting chart values for multiple usesAndroid和achartengine:为多种用途重置图表值
【发布时间】:2012-08-14 23:01:42
【问题描述】:

我有一个绘制动态图表的应用程序,完成后它会保存一些数据并让用户退出。 (所以有多个活动)。一旦用户退出,我希望他们能够回来并让图表从 0 动态地重新绘制自己。但由于某种原因,图表总是从它离开的值继续。

这是我尝试过的:

  1. 通过调用 clear() 清除 XYSeries。此外,从我的 XYMultipleSeriesDataset 中删除了该系列,并清除了我的 XYMultipleSeriesRenderer 上的文本标签。尽管如此,图表仍会从中断处继续。

  2. 调用 onDestroy() 以清除所有保存的数据。这可以清除图表,但是当用户选择退出时,应用程序崩溃了,因为出于某种奇怪的原因,我正在杀死的活动试图重新创建自己。当我尝试 onDestroy() 和 finish() 时,没有崩溃,但图表保存了上次运行的数据。

  3. 调用 super.onCreate(null) 以避免保存的InstanceState。图表仍然保存了它的数据。

谁能帮帮我?如果我需要发布我的代码或其他任何内容,请告诉我!

提前谢谢你!

【问题讨论】:

  • 其实,我想我知道问题出在哪里。我用另一个负责绘制图表的线程尝试了同样的事情,它运行良好,在每次重新启动时重置值。我遇到问题的线程属于 IOIO 库,我认为这就是发生奇怪事情的地方。我会在 ioio google 群组中询问。

标签: android achartengine


【解决方案1】:

我通过删除视图然后再次添加视图解决了这个问题。

每次我构建一个新的 XYSeries 和新数据集时:

mDataset = new XYMultipleSeriesDataset();  //mDataset in my case is global
XYSeries series = new XYSeries("My Series Title");

series.add((double)y,Weight); //call this function several times if you want several points in the same series.

mDataset.addSeries(series);
mChartView = ChartFactory.getLineChartView(this, mDataset, mRenderer);  //mChartView is also global

layout.removeAllViews();  //This remove previous graph
layout.addView(mChartView); //This loads the graph again

我不知道这是否是最好的方法,但它工作得很好而且几乎没有延迟(我只需要在从其他活动返回时更新图表,或者用户输入数据)。

希望这是有用的。 BR, 阿德里安。

【讨论】:

  • 有没有办法重置轴值...场景就像在一个屏幕应用程序上绘制图形越来越时尚,现在打算到其他屏幕(没有完成第一个)..现在如果控制将导航回来到这个屏幕,然后一切都应该被重置......阅读应该从 0、0 开始......这里有什么想法吗?
  • 它从父级中删除视图...但是当再次添加时...它不会绘制图形视图。
【解决方案2】:

你可以有一个方法,每次你启动一个新图表时都会这样做

private void removeGraph(){
    //View item = lineChartLayout;
    lineChartLayout.removeAllViews();
    //((ViewGroup) item.getParent()).removeView(item);
}

由于lineChartLayoutLayout,那么它就是ViewGroup,因此我们可以通过在布局上调用removeAllViews 方法来删​​除其上所有附加的视图,并且所有附加在其上的视图都将被删除. 干杯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多