为了账号安全,请及时绑定邮箱和手机立即绑定

如何等待柜台完成

如何等待柜台完成

MYYA 2022-06-04 15:33:38
我需要应用程序等到计数器完成其工作,以便它可以返回完整的值数组,以便下一个函数可以使用它而不是“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 会使应用程序崩溃。
查看完整描述

1 回答

?
www说

TA贡献1775条经验 获得超8个赞

如果您只需要特定秒数的计数器,则可以使用以下代码段发布可运行文件


// 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,这是因为在大多数情况下,当您想在其他事情之后做某事时;您实际上不知道第一个操作何时结束,或者您的数组何时将完全被数据占用;如果您需要帮助,请告诉我。


查看完整回答
反对 回复 2022-06-04
  • 1 回答
  • 0 关注
  • 85 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信