주기적으로 실행되는 코드 스 니펫을 얻으려고합니다.Handler.postDelayed를 사용하여 여러 Runnables 실행
이int endTime = 52;
final double[] weights = new double[endTime];
for (int j = 0; j < endTime; j++) {
final int k = j;
newWeight = i.integrate(getCarbs(), getProt(), getFat(), newWeight,
height, age, PAL, gender, 7);
double percentChange = (newWeight - weight);
percentChange = percentChange * 100/weight;
if(percentChange <-100){
percentChange = -100;
}
weights[j] = percentChange;
final DecimalFormat twoDForm = new DecimalFormat("0.00");
final Handler h = new Handler();
int time = 300*(j);
Runnable r = new Runnable() {
public void run() {
((TextView) findViewById(R.id.weightGainNumbers))
.setText("Week:\t" + (k + 1) + "\nWeight Change:\t"
+ twoDForm.format(weights[k]) + "%");
animate(weights[Math.abs(k - 1)], weights[k], false);
}
};
h.postDelayed(r, time);
}
애니메이션은 100 밀리 초를 취
다음은 내 코드입니다. 그러나, 이걸 실행할 때, 응용 프로그램이 멈추고 j = 15 주위에 있어야 할 일을하기 시작합니다. 여기서 무엇이 잘못되었는지를 아는 사람이 있습니까?
활동에서 어디에서 당신이하고 있습니까? – Simon
하나의 "Handler"만 선언하고 for -loop 외부에서 수행하면 어떤 차이가 있습니까? – harism
그것의 onClick에 대한 호출 및 외부 처리기를 이동하면 아무것도 도움이되지 않습니다. – avikar96