AsyncTask在SeekBarChangeListener中不起作用

时间:2018-07-14 15:51:05

标签: android android-studio

我要创建一个闪光灯程序。它可以与进度条更改一起用作用户输入,以将睡眠功能值设置为闪烁的闪光灯。我从SeekBarChangeListener调用我的AsyncTask时,它不起作用,什么也没发生。但是当我从onCreate函数或其他类中调用它时,一切正常,并且可以正常工作。

我的SeekBarChangeListener:

seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){

        @Override
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
            // TODO Auto-generated method stub
            Blinker bbb = new Blinker();

            seekBarValue.setText(String.valueOf(progress));
            try {
                bbb.execute(progress*100);
            } catch(Exception e) {
                System.out.println("got interrupted!");
            }
        }

        @Override
        public void onStartTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub

        }

        @Override
        public void onStopTrackingTouch(SeekBar seekBar) {
            // TODO Auto-generated method stub
        }
    });

我的AsyncTask:

    public final class Blinker extends AsyncTask<Integer, Integer, Void> {
    @Override
    protected Void doInBackground(Integer... params) {

        try {
            while (isFlashing)
            {
                turnOffFlashing();
                Thread.sleep(params[0]);
                turnOnFlashing();
                Thread.sleep(params[0]);
                if (isCancelled()) break;
            }
        } catch (Exception e) {
            e.printStackTrace();
        }

        return null;
    }
}

如果您有任何想法可以使其生效,请与我分享。谢谢。

0 个答案:

没有答案