我正在使用shinobicharts
ChartFragment
。我有这样的场景,每次我必须在同一活动中加载具有不同数据的图表,即我没有重新创建该活动。但我没有做到这一点。它不会重新创建并且不会清除我之前设置到该图表的系列。
任何人都可以提供帮助,我如何删除该图表中的旧系列并每次加载新系列?我试过了shinobiChart().removeSeries()
,但它没有用。
由于
答案 0 :(得分:0)
如果您希望动态加载新数据,则不一定需要删除该系列。相反,您只需将数据点添加到数据适配器即可。您会发现以下方法很有用: https://www.shinobicontrols.com/docs/ShinobiControls/ShinobiChartsAndroid/1.7.2/Premium/Normal/apidocs/docs/reference/com/shinobicontrols/charts/DataAdapter.html#add(int,com.shinobicontrols.charts.Data) https://www.shinobicontrols.com/docs/ShinobiControls/ShinobiChartsAndroid/1.7.2/Premium/Normal/apidocs/docs/reference/com/shinobicontrols/charts/DataAdapter.html#add(com.shinobicontrols.charts.Data) https://www.shinobicontrols.com/docs/ShinobiControls/ShinobiChartsAndroid/1.7.2/Premium/Normal/apidocs/docs/reference/com/shinobicontrols/charts/DataAdapter.html#addAll(int,java.util.Collection>) https://www.shinobicontrols.com/docs/ShinobiControls/ShinobiChartsAndroid/1.7.2/Premium/Normal/apidocs/docs/reference/com/shinobicontrols/charts/DataAdapter.html#addAll(java.util.Collection&GT)
在这些api文档中,您还可以找到类似的方法来删除数据点。
要记住的一件事是,在系列中设置的SimpleDataAdapter类实例中添加或删除数据点将触发重绘该系列。如果您正在处理大量数据点,则可能无法实现这一点。在这种情况下,更合适的方法可能是从系列中临时删除数据适配器,对数据执行修改,然后将数据适配器重新添加回系列。或者,您可能希望在指示图表重绘该系列时(通过fireUpdateHandler方法)实现自己的DataAdapter和控件。
您当然可以删除系列本身并添加一个新系列,但这种方法可能效率低下。也就是说,如果您想从图表中删除系列,则需要使用以下方法:
为了使此方法成功,您首先需要获取对正确系列的引用,您必须将该方法作为参数传递给此方法。
我希望您发现此信息有用。如果您需要任何进一步的帮助,请尽可能发布任何相关代码,例如您用来创建片段和设置图表的代码。 谢谢和亲切的问候, 启。
免责声明 - 我为ShinobiControls工作。