你好我有以下类来显示图形,因为在代码中我可以看到它使用了一些随机值,我们如何在每秒刷新此活动以获得移动图形。感谢
public class SalesGrowthChart extends AbstractDemoChart {
public String getName() {
return "Sales growth";
}
public String getDesc() {
return "The sales growth across several years (time chart)";
}
public Intent execute(Context context) {
String[] titles = new String[] { "Sales growth January 1995 to December 2000" };
List<Date[]> dates = new ArrayList<Date[]>();
List<double[]> values = new ArrayList<double[]>();
Date[] dateValues = new Date[] { new Date(95, 0, 1), new Date(95, 3, 1), new Date(95, 6, 1),
new Date(95, 9, 1), new Date(96, 0, 1), new Date(96, 3, 1), new Date(96, 6, 1),
new Date(96, 9, 1), new Date(97, 0, 1), new Date(97, 3, 1), new Date(97, 6, 1),
new Date(97, 9, 1), new Date(98, 0, 1), new Date(98, 3, 1), new Date(98, 6, 1),
new Date(98, 9, 1), new Date(99, 0, 1), new Date(99, 3, 1), new Date(99, 6, 1),
new Date(99, 9, 1), new Date(100, 0, 1), new Date(100, 3, 1), new Date(100, 6, 1),
new Date(100, 9, 1), new Date(100, 11, 1) };
dates.add(dateValues);
values.add(new double[] { (int) (Math.random() * 4), (int) (Math.random() * 4),(int) (Math.random() * 4), (int) (Math.random() * 4), (int) (Math.random() * 4), (int) (Math.random() * 4) });
int[] colors = new int[] { Color.BLUE };
PointStyle[] styles = new PointStyle[] { PointStyle.POINT };
XYMultipleSeriesRenderer renderer = buildRenderer(colors, styles);
setChartSettings(renderer, "Sales growth", "Date", "%", dateValues[0].getTime(),
dateValues[dateValues.length - 1].getTime(), -4, 11, Color.GRAY, Color.LTGRAY);
renderer.setYLabels(10);
return ChartFactory.getTimeChartIntent(context, buildDateDataset(titles, dates, values),
renderer, "MMM yyyy");
}
}
答案 0 :(得分:1)
您将不得不在主要活动中创建一个新线程,如下所示:
public class myActivity extends Activity {
boolean graphActive = true;
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
new Thread(new Runnable() {
public void run() { // Process to keep running
while (graphActive) {
SalesGrowthChart.execute();
try {
Thread.sleep(1000) // sleeps for 1 second
} catch (Error e) {
}
}
}}).start();
}
}
您可以通过设置graphActive = false来杀死任何地方的线程 希望这可以帮助。 :)