我正在使用频率检测器,当频率很高时,我想用 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);
注意:- 尝试全局声明变量,它在整个类方法中使用
关于java - 倒计时什么时候开始将数据插入数组java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39177366/