我正在使用频率检测器,当频率很高时,我希望以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();
}
但这不能正常工作请让我解决这个问题。
答案 0 :(得分:1)
问题是你在本地声明你的ArrayList,这就是为什么它最后只有一个值。 每次创建新的ArrayList
全球宣布
private ArrayList<String> mylist = new ArrayList<String>();
并在添加值
的方法中使用mylist.add(test);
注意: - 尝试全局声明变量,这在全班方法中使用