2016-03-19 12 views
0

«Переменная доступна во внутреннем классе Требуется объявить окончательный» - это ошибка, которую я получаю вначале. Поэтому я меняю его на финал. Как только я изменю его на финал, я получаю другую ошибку: «Невозможно присвоить значение конечной переменной». Я как бы застрял здесь, что делать здесь. Его дает мне ошибку на Int exam_gradeСохранение значения Seekbar, но продолжайте получать то, что я должен использовать final

public class CalculateGradeActivity extends Activity { 



@Override 
protected void onCreate(Bundle savedInstanceState) { 


    super.onCreate(savedInstanceState); 
    setContentView(R.layout.calculate_grade_view); 
    seekbar(); 



} 
public void seekbar(){ 
    SeekBar seek_bar1 = (SeekBar) findViewById(R.id.seekBarExam); 


    final TextView text_view = (TextView) findViewById(R.id.percentageSeekbar1); 



    int exam_grade; 
    TextView text_view5 = (TextView) findViewById(R.id.numeric_grade_id_output); 
    text_view5.setText(String.valueOf(exam_grade)); 


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




    seek_bar1.setOnSeekBarChangeListener(

      new SeekBar.OnSeekBarChangeListener() { 

       @Override 
       public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
        exam_grade = progress; 
        text_view.setText(String.valueOf(progress) + "%"); 


       } 

       @Override 
       public void onStartTrackingTouch(SeekBar seekBar) { 

       } 

       @Override 
       public void onStopTrackingTouch(SeekBar seekBar) { 

       } 
      } 
    ); 








}//ends seekbar function 

}

ответ

2

Привет не декларировать свой TextView как окончательный, поставить его в классе атрибутов вместо этого.

public class CalculateGradeActivity extends Activity { 

    TextView text_view; 
    SeekBar seek_bar1 


@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.calculate_grade_view); 
    seek_bar1 = (SeekBar) findViewById(R.id.seekBarExam); 
    text_view = (TextView) findViewById(R.id.percentageSeekbar1); 
    seekbar(); 

} 

Сделайте то же самое для всех видов (объявите их как атрибуты).

+0

Спасибо !! Если бы вы поместили мою переменную exam_grade в атрибуты класса – Carlitos

0

final означает, что его можно назначить только один раз. Я уверен, что текст не должен быть окончательным. в любом случае, попробовать сдачи декларации экзаменационной и TextView в вашем OnCreate ...

 setContentView(R.layout.calculate_grade_view); 
    int exam_grade; 
    TextView text_view = (TextView) findViewById(R.id.percentageSeekbar1); 
    seekbar();