如何使用onClick视图方法中的两个按钮增加和减少进度条水平(android)

时间:2016-06-22 06:24:19

标签: android android-progressbar

    mIncButton = (Button) v.findViewById(R.id.Increment);
    mIncButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
             //mProgress.incrementProgressBy(1);
            //mProgress.setProgress(100 * mProgress.getProgress());
            mProgress.setProgress(0);
            mProgress.setMax(100);
            mProgress.setProgress(mProgress.getMax()/100*5);
        }
    });

我用不同的方法进行了尝试,但我无法获得它 我只需要与ONCLICK视图一起做。

this is how layout look like and whenever i press increase button, that progress bar have to increase 5% of it and as same with decrease button

2 个答案:

答案 0 :(得分:1)

在外面维持一个柜台。仅在xml中设置max。

int progress = 0;

mIncButton = (Button) v.findViewById(R.id.Increment);
mIncButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if(progress < 100)
          progress += 5; 
        mProgress.setProgress(progress);
    }
});
mDecButton = (Button) v.findViewById(R.id.Decrement);
mIncButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        if(progress > 0)
          progress -= 5; 
        mProgress.setProgress(progress);
    }
});

希望它会有所帮助:)

答案 1 :(得分:0)

我也有类似的问题。我正在创建一个测验,如果用户给出正确的答案,则进度条必须增加,如果用户给出错误的答案,则进度条必须减少。所以我只是这样做了。

int PROGRESS_BAR_INCREMENT = 10;
ProgressBar mProgress;

mProgress = (ProgressBar) findViewById(R.id.Progress_Bar);

//for right answer 
mProgress.incrementProgressBar(PROGRESS_BAR_INCREMENT);

//for the wrong answer
mProgress.incrementProgressBar(-PROGRESS_BAR_INCREMENT);

所以对于你的情况

   int progress = 5;

mIncButton = (Button) findViewById(R.id.Increment);
mIncButton.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
   
    mProgress.incrementProgressBy(progress);
    }
});
mDecButton = (Button) findViewById(R.id.Decrement);
mDecButton.setOnClickListener(new View.OnClickListener() {
    @Override
   
    mProgress.incrementProgressBy(-progress);
    }
});