我正在做正常的findViewById但由于某些原因我的应用程序崩溃,因为SeekBar具有空值。它说
“java.lang.NullPointerException:尝试在空对象引用上调用虚方法'void android.widget.SeekBar.setMax(int)'”
public class SettingsScreen extends AppCompatActivity {
@Bind(R.id.workText)
TextView work;
@Bind(R.id.restText)
TextView rest;
@Bind(R.id.workSeekBar)
SeekBar workBar;
@Bind(R.id.restSeekBar)
SeekBar restBar;
@Bind(R.id.applyButton)
Button applyButton;
int maxWork = 60;
int minWork = 5;
int maxRest = 60;
int minRest = 1;
int desiredWorkTime;
int desiredRestTime;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_settings_screen);
Intent intent = getIntent();
Boolean isLoggedIn = intent.getBooleanExtra("currentUser", false);
workBar.setMax(maxWork - minWork);
workBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
desiredWorkTime = minWork + progress;
work.setText("Current: " + desiredWorkTime + " minutes");
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
restBar.setMax(maxRest - minRest);
restBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
desiredRestTime = minRest + progress;
work.setText("Current: " + desiredRestTime + " minutes");
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
}
});
}
}