我需要的应用程序要等到柜台完成其工作,以便它可以返回值的全阵列所以接下来的功能,可以用它代替“空”
移动柜台等方法的作品,但遗憾的是它不是一个选项。
String[] rows;
parser.beginParsing(file);
String[] firstRow = parser.parseNext();
while ((rows = parser.parseNext()) != null) {
String lastRow = rows[0];
content = rows;
data.add(content);
Double[] points = new Double[data.size()];
for (int i = 0; i < data.size(); i++) {
rows = data.get(i);
points[i] = new Double(Double.parseDouble(rows[1]));
}
XYSeries dataSeries = new SimpleXYSeries(Arrays.asList(points), SimpleXYSeries.ArrayFormat.Y_VALS_ONLY, "Series1");
SampledXYSeries sampledSeries = new SampledXYSeries(dataSeries, OrderedXYSeries.XOrder.ASCENDING, 2,10);
lineFormatter = new FastLineAndPointRenderer.Formatter(LINE_COLOUR, null, null);
csvPlot.addSeries(sampledSeries, lineFormatter);
}
我希望线程等待,直到计数器完成如此“点”将包含实际的解析数据。现在它返回“空”,并呼吁sampledSeries崩溃的应用程序。
如果你只需要几秒钟的特定数目的计数器,你可以张贴下面片段可运行
// Fill your array here
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
// work to be done after 6000 msec
Toast.makeText(MainActivity.this, "6 sec passed", Toast.LENGTH_SHORT).show();
}
},6000); // time in msec
但我相信,你需要像AsyncTask或AsnycTaskLoader另一种方法,这是因为在大多数情况下,当你想要做点别的东西之后;你居然不知道什么时候第一次操作结束后,或在您的情况下,当你阵将完全用数据占用;请让我知道如果你需要的一些帮助。