2016-03-19 19 views
0

複数のSeekbarsから値を一緒に追加するのに問題があります。 total_viewに合計を送信しようとしているが、それは2 seekbarsを使用して0イムとして表示し続けると複数のシークバー値をテキストビューで一緒に追加する

public class CalculateGradeActivity extends Activity { 
    TextView text_view; //shows percentage 
    TextView text_view2; //shows percentage 

    TextView total_view; //show total from text_view and text_view2 

    SeekBar seek_bar1; 
    SeekBar seek_bar2; 

    int exam_grade; 
    int homework; 

    int total; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 


     super.onCreate(savedInstanceState); 
     setContentView(R.layout.calculate_grade_view); 
     seek_bar1 = (SeekBar) findViewById(R.id.seekBarExam); 
     seek_bar2 = (SeekBar) findViewById(R.id.seekBarHomework); 


     text_view = (TextView) findViewById(R.id.percentageSeekbar1); 
     text_view2 = (TextView) findViewById(R.id.percentageSeekbar2); 

     total_view = (TextView) findViewById(R.id.numeric_grade_id_output); 


     seekbar(); 


    } 



    public void seekbar() { 


     int progress = seek_bar1.getProgress(); 
     text_view.setText(String.valueOf(progress)); 

     int progress2 = seek_bar2.getProgress(); 
     text_view2.setText(String.valueOf(progress2)); 


     total = exam_grade + homework; 

     seek_bar1.setOnSeekBarChangeListener(
      new SeekBar.OnSeekBarChangeListener() { 

       @Override 
       public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 

        text_view.setText(String.valueOf(progress) + "%"); 

        exam_grade = progress; 
        total_view.setText(String.valueOf(total)); 

       } 

       @Override 
       public void onStartTrackingTouch(SeekBar seekBar) { 

       } 

       @Override 
       public void onStopTrackingTouch(SeekBar seekBar) { 

       } 
      } 
     ); 

     seek_bar2.setOnSeekBarChangeListener(
      new SeekBar.OnSeekBarChangeListener(){ 

       @Override 
       public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 

        text_view2.setText(String.valueOf(progress)+"%"); 
        homework = progress; 
        total_view.setText(String.valueOf(total)); 
       } 

       @Override 
       public void onStartTrackingTouch(SeekBar seekBar) { 

       } 

       @Override 
       public void onStopTrackingTouch(SeekBar seekBar) { 


       } 
      } 
     ); 
    } 
} 

答えて

0

たびにonSeekChangeListener使用してイムので、合計は、あなたが値を変更バーの動きに応じて変更する必要があります表示する前に合計を再計算する必要があります。

seek_bar1.setOnSeekBarChangeListener(

     new SeekBar.OnSeekBarChangeListener() { 

      @Override 
      public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 

       text_view.setText(String.valueOf(progress) + "%"); 

       exam_grade = progress; 
       total = exam_grade + homework; 
       total_view.setText(String.valueOf(total)); 

      } 

      @Override 
      public void onStartTrackingTouch(SeekBar seekBar) { 

      } 

      @Override 
      public void onStopTrackingTouch(SeekBar seekBar) { 

      } 
     } 
); 

seek_bar2.setOnSeekBarChangeListener(
     new SeekBar.OnSeekBarChangeListener(){ 


      @Override 
      public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 

       text_view2.setText(String.valueOf(progress)+"%"); 
       homework = progress; 
       total = exam_grade + homework; 
       total_view.setText(String.valueOf(total)); 
      } 

      @Override 
      public void onStartTrackingTouch(SeekBar seekBar) { 

      } 

      @Override 
      public void onStopTrackingTouch(SeekBar seekBar) { 


      } 
     } 
); 

JA

+0

ありがとうございました。今私はこれを仕上げる方法を知っています。 – Carlitos

関連する問題