Android Studio - 使用Handler Thread进行循环延迟

时间:2016-07-19 04:20:35

标签: android multithreading for-loop delay

我正在尝试使用处理程序线程设置一个延迟的for循环。但是当我在for循环中设置处理程序线程时,我不能使用for循环的索引,因为它说它必须被称为final,但是这也不起作用。有谁知道如何解决这个问题?

2 个答案:

答案 0 :(得分:1)

ChunkSize Sleep,您需要在Thread之外设置for loop,如下所示。这样,您就可以实现postDelayed的{​​{1}}。

Index

答案 1 :(得分:0)

我认为你可以使用CountDownTimer:

new CountDownTimer(30000, 1000) {

    public void onTick(long millisUntilFinished) {
        mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
       //here you can have your logic to set text to edittext
    }

    public void onFinish() {
        mTextField.setText("done!");
    }

}.start();

How to make a countdown Timer in android?

或者甚至喜欢这样:

public void animateTextView(float initialValue, float finalValue, final TextView  textview) {

    ValueAnimator valueAnimator = ValueAnimator.ofFloat(initialValue, finalValue);
    valueAnimator.setDuration(1500);

    valueAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
        @Override
        public void onAnimationUpdate(ValueAnimator valueAnimator) {

            textview.setText(valueAnimator.getAnimatedValue().toString());

        }
    });
    valueAnimator.start();

}