存储 Seekbar 值但不断得到我必须使用 final
Storing Seekbar value but keep getting that I have to use final
"Variable is accessed within inner class Needs to be declared final" 是我最初得到的错误。所以我把它改成final。一旦我将其更改为 final,我会收到一条不同的错误消息 "Cannot assign value to final variable"。我有点被困在这里做什么。它给我关于 int exam_grade
的错误
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
}
您好,不要将您的 textview 声明为最终的,而是将其放在 class 属性中。
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();
}
对所有视图执行相同操作(将它们声明为属性)。
final表示只能赋值一次。
我确信 textview 不应该是最终的。
反正,
尝试将考试成绩和 TextView 的声明放入您的 onCreate...
setContentView(R.layout.calculate_grade_view);
int exam_grade;
TextView text_view = (TextView) findViewById(R.id.percentageSeekbar1);
seekbar();
"Variable is accessed within inner class Needs to be declared final" 是我最初得到的错误。所以我把它改成final。一旦我将其更改为 final,我会收到一条不同的错误消息 "Cannot assign value to final variable"。我有点被困在这里做什么。它给我关于 int exam_grade
的错误 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
}
您好,不要将您的 textview 声明为最终的,而是将其放在 class 属性中。
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();
}
对所有视图执行相同操作(将它们声明为属性)。
final表示只能赋值一次。 我确信 textview 不应该是最终的。 反正, 尝试将考试成绩和 TextView 的声明放入您的 onCreate...
setContentView(R.layout.calculate_grade_view);
int exam_grade;
TextView text_view = (TextView) findViewById(R.id.percentageSeekbar1);
seekbar();