1

我的应用程序有一个搜索栏,在 onProgressChanged 里面我输入了我的代码来处理一些图像。

这一切都有效,但由于处理需要大量时间(有时 1 秒),它真的很滞后。

我想更改它,以便当用户滑动滑块时,不会进行任何处理,直到滑块在特定点停止超过 300 毫秒,例如,如果用户从左到右快速滑动,则不进行处理将被制造..这有意义吗?

有什么建议么?

注意:我目前正在将处理转移到 AsyncTask 中,即使这样,我仍然希望只在滑块停止在某个点后执行 AsyncTask,如果用户滑动非常快,我不想启动多个任务。

提前致谢!

4

1 回答 1

0

在 中进行处理onStopTrackingTouch(),而不是onProgressChanged()

SeekBar seekBar = (SeekBar) findViewById(R.id.seekbar);

seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        int progress = seekBar.getProgress();

        // Process here, for example using AsyncTask
    }
}
于 2013-11-02T10:57:39.863 回答