倒计时什么时候开始将数据推入数组 java

when is countdown start push data into array java

我正在使用频率检测器,当频率很高时我想用 10 $ 开始倒计时并将高频收集到数据数组中。

  if(maxAmpFreq > 3000){

  Log.i("tag","start.......");
  new CountDownTimer(10000, 1000) {
    String test = String.valueOf(maxAmpFreq);
    ArrayList<String> mylist = new ArrayList<String>();


    public void onTick(long millisUntilFinished) {
      Log.i("tag","A Kiss after 5 seconds");

      mylist.add(test);

    }

    public void onFinish() {
      Log.i("tag","your test is......"+mylist);
    }
  }.start();

}

但这不能正常工作,请帮助我解决这个问题。

问题是你在本地声明了你的 ArrayList ,这就是它最后只有一个值的原因。 每次创建新的 ArrayList

全局声明

private    ArrayList<String> mylist = new ArrayList<String>();

并在加值的方法中使用

mylist.add(test);

注意:- 尝试全局声明变量,该变量在整个 class 方法中使用