首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Seekbar不能正常工作

问Seekbar不能正常工作
EN

Stack Overflow用户
提问于 2013-05-27 12:03:10
回答 1查看 177关注 0票数 1

我希望每次在我的应用程序中接触到它时,都能从它那里获得值。我在seekbar中声明的值将被添加到我的url中,但每次我触摸seekbar时,它会给我一个循环,url将循环并加载为progressChanged上的amount seekbar。这是我的代码:

代码语言:javascript
复制
int period = 0;
SeekTime.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {
        // TODO Auto-generated method stub
    }

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

    @Override
    public void onProgressChanged(SeekBar seekBar, int progress,
        boolean fromUser) {
        // TODO Auto-generated method stub
        if (SeekTime.getProgress() <= 3){
            SeekTime.setProgress(0);
            period=7;
        }
        if (SeekTime.getProgress() > 3 && SeekTime.getProgress() <= 8) {
            SeekTime.setProgress(5);
            period =30;
        }
        if (SeekTime.getProgress() >8 && SeekTime.getProgress()<=13){
            SeekTime.setProgress(10);
            period = 90;
        }
        if (SeekTime.getProgress() >13 && SeekTime.getProgress()<=18){
            SeekTime.setProgress(15);
            period = 180;
        }
        if (SeekTime.getProgress() >18 && SeekTime.getProgress()<=23){
            SeekTime.setProgress(20);
            period = 270;
        }
        if (SeekTime.getProgress() >23){
            SeekTime.setProgress(25);
            period = 360;
        }
        new LoadData(URL+period).execute();
EN

回答 1

Stack Overflow用户

发布于 2013-05-27 12:10:43

我认为你得到的问题是因为当你调用SeekTime.setProgress()时,进程被改变了--它再次调用onProgressChange()。

你应该做的是检查用户是否已经完成了进度更改。您可以使用fromUser变量来控制它。

代码语言:javascript
复制
int period = 0;
SeekTime.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
    // TODO Auto-generated method stub
}

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

@Override
public void onProgressChanged(SeekBar seekBar, int progress,
    boolean fromUser) {
    // TODO Auto-generated method stub
if(fromUser) {
    if (SeekTime.getProgress() <= 3){
        SeekTime.setProgress(0);
        period=7;
    }
    if (SeekTime.getProgress() > 3 && SeekTime.getProgress() <= 8) {
        SeekTime.setProgress(5);
        period =30;
    }
    if (SeekTime.getProgress() >8 && SeekTime.getProgress()<=13){
        SeekTime.setProgress(10);
        period = 90;
    }
    if (SeekTime.getProgress() >13 && SeekTime.getProgress()<=18){
        SeekTime.setProgress(15);
        period = 180;
    }
    if (SeekTime.getProgress() >18 && SeekTime.getProgress()<=23){
        SeekTime.setProgress(20);
        period = 270;
    }
    if (SeekTime.getProgress() >23){
        SeekTime.setProgress(25);
        period = 360;
    }
    new LoadData(URL+period).execute();
}
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16766130

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档