我正在使用Tab Navigator组件,其中有三个canvas组件。当我单击其中一个画布(或制表符)时,会显示一个饼图。
实际上发生的是点击次数
1. canvas发送一个HTTPService,其url设置为php文件
那个php文件实际上从数据库中获取信息。基于该信息,创建xml文件
3. Fusion Chart使用该xml文件显示饼图
问题:
一段时间后数据库正在更新。
饼图可能会在每3分钟后更新一次以反映数据库中的修改吗?或
我可以在后台每3分钟后一次又一次地发送特定的HTTPService吗?或
有没有更好的方法来更新Tab Navigator的特定画布(或标签)中的信息?
万分感谢。 :)
的更新
现在尝试在我的应用程序中设置一个计时器,但是我遇到了第二和第三行的错误:
第二行错误:
多个标记:
-1120访问未定义的属性Countsec
-1120访问未定义的属性mTimer
第3行错误:
访问未定义的属性mTimer
但是我已经在代码中定义了所有内容:
var mTimer:Timer=new Timer(1000*60*3); //3 minutes
mTimer.addEventListener(TimerEvent.TIMER,Countsec);
mTimer.start();
private function Countsec(e:TimerEvent):void
{
charts.send(); //HTTPService's ID that needs to be sent
}
答案 0 :(得分:1)
以下行需要在函数调用中,而不是仅在脚本中声明:
mTimer.addEventListener(TimerEvent.TIMER,Countsec);
mTimer.start();
你应该在初始化或creationComplete事件的函数中调用它们。
答案 1 :(得分:0)
基本上可以进行两种更新:基于计时器或基于事件。
如果您想要基于计时器,只需在应用程序启动时设置timer以定期运行更新。
如果您想要基于事件,请设置适当的UI事件处理程序以更新内容。
要访问“选项卡导航器”选项卡内容,请使用
yourTabNavigator.getChildAt(index)
其中index是您要访问的选项卡的从0开始的索引。然后,您可以添加,删除,更改其内容对象。
或者,如果您对选项卡进行硬编码,则可以为每个内容对象提供一个ID,并通过ID直接访问它们。
<mx:TabNavigator id="tn" width="100%" height="100%">
<!-- Define each panel using a VBox container. -->
<mx:VBox label="Panel 1" id="box1">
<mx:Label text="TabNavigator container panel 1"/>
</mx:VBox>
<mx:VBox label="Panel 2" id="box2">
<mx:Label text="TabNavigator container panel 2"/>
</mx:VBox>
<mx:VBox label="Panel 3" id="box3">
<mx:Label text="TabNavigator container panel 3"/>
</mx:VBox>
</mx:TabNavigator>
然后,您可以将其作为“box1”等访问。
答案 2 :(得分:0)
尝试将“Countsec”功能更改为公开而非私有。
此外,您可以在计时器长度(1000 * 60 * 3,0)之后添加重复计数参数。 0为无穷大,或将其设置为特定计数。
您可以做的最后一件事是直接调用常量而不是TimerEvent.TIMER。请改用“计时器”。 “mTimer.addEventListener(” 计时器 “Countsec);”