如何等待柜台完成

我需要应用程序等到计数器完成其工作,以便它可以返回完整的值数组,以便下一个函数可以使用它而不是“null”


与其他方法相反是可行的,但遗憾的是这不是一个选择。


        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);      

        } 

我希望线程等待计数器完成,因此“点”将包含实际解析的数据。现在它返回“null”并调用 sampledSeries 会使应用程序崩溃。


MYYA
浏览 86回答 1
1回答

www说

如果您只需要特定秒数的计数器,则可以使用以下代码段发布可运行文件// Fill your array herenew Handler().postDelayed(new Runnable() {&nbsp; &nbsp; @Override&nbsp; &nbsp; public void run() {&nbsp; &nbsp; &nbsp; &nbsp; // work to be done after 6000 msec&nbsp; &nbsp; &nbsp; &nbsp; Toast.makeText(MainActivity.this, "6 sec passed", Toast.LENGTH_SHORT).show();&nbsp; &nbsp; }},6000); // time in msec但是我相信您需要另一种方法,例如AsyncTask或AsnycTaskLoader,这是因为在大多数情况下,当您想在其他事情之后做某事时;您实际上不知道第一个操作何时结束,或者您的数组何时将完全被数据占用;如果您需要帮助,请告诉我。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java