需要TickerBar的Ticker可以多次点击

时间:2014-07-09 15:24:28

标签: android onclick onclicklistener seekbar

我有一个搜索栏,并希望拥有" ticker"容易增量为1的按钮。截至目前,我的文本仅更新一次。但是,如果我的seekBar被更改,我可以再次打+ 1。让我知道你是否想要查看更多代码..其他一切正常。

 ib2.setOnClickListener(new OnClickListener() {

        @Override
        public void onClick(View v) {
            int addOne = 1;
            progress = seekBar.getProgress(); 
            progress = progress + addOne;
            if(progress  < 18)
                textView1.setText(":  "+ 18);
            textView1.setText(":  " + progress);
         ib2.setClickable(true);

        }
    });     
seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() 
      {

            @Override
          public void onProgressChanged(SeekBar seekBar,int progresValue, boolean fromUser) 
          {
                progresValue = 18;
            progress = progresValue;

            if(progress < 18)
            {
                 progress = 18;
                 textView1.setText(":  "+ progress);
            }
          }

          @Override
          public void onStartTrackingTouch(SeekBar seekBar) 
          {
                textView1.setText(":   ");
                progress= seekBar.getProgress();
                textView1.setText(":  " + progress);
          }

          @Override
          public void onStopTrackingTouch(SeekBar seekBar)
          {
              if(seekBar.getProgress() < 18)
              {
                  progress = 18;
                 textView1.setText(":  " + progress );

              }
              else
              {

              textView1.setText(":  " + seekBar.getProgress());
              }
          }
      });

1 个答案:

答案 0 :(得分:0)

您的问题是忘记在递增后设置SeekBar的进度。你必须添加:

seekBar.setProgress(progress);

onClick方法的最后。


顺便说一句,您的代码可以简化很多,下面的代码与您的代码完全相同,但更短的方式:

ib2.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {
        seekBar.setProgress(seekBar.getProgress() + 1);
    }
});     

seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
    @Override
    public void onProgressChanged(SeekBar seekBar,int progresValue, boolean fromUser) {
        if(progresValue < 18) {
            textView1.setText(":  "+ 18);
        } else {
            textView1.setText(":  "+ progresValue);
        }
    }

    @Override
    public void onStartTrackingTouch(SeekBar seekBar) {
        textView1.setText(":  " + seekBar.getProgress());
    }

    @Override
    public void onStopTrackingTouch(SeekBar seekBar) {}
});