代码工作正常,但我的代码中没有获取seekbar值。显示的错误是“无法解决符号进度”,即使在公开之后也是如此。有人可能会用简短的解释来解释这一点。我已经存储了SeekBar值,并尝试在计算中进一步使用它。
sb = (SeekBar)findViewById(R.id.set_years);
yrs = (TextView)findViewById(R.id.years);
sb.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
public int progress;
@Override
public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
progress = i;
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {
}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {
yrs.setText(progress+" year(s)");
}
});
addButtonClickListener();
}
private void addButtonClickListener() {
submit = (Button)findViewById(R.id.submit);
submit.setOnClickListener(this);
}
@Override
public void onClick(View view) {
float loanAmtValue = 0;
float roiValue = 0;
double answer;
loanAmt = (EditText)findViewById(R.id.amt);
loanAmtValue = Float.parseFloat(loanAmt.getText().toString());
roi = (EditText)findViewById(R.id.roi);
roiValue = Float.parseFloat(roi.getText().toString());
if (loanAmtValue != 0 || roiValue != 0){
answer = (loanAmtValue * roiValue * progress) / 100;
siResult = (TextView) findViewById(R.id.result);
siResult.setText("Calculated Simple Interest for Amount Rs" + loanAmtValue + " and ROI " + roiValue + "% is = " + Double.toString(answer));
loanAmt.setText("0");
roi.setText("0");
}
else
{
siResult.setText("Please provide valid details");
}
答案 0 :(得分:0)
首先 - 您的progress
变量是SeekBar.OnSeekBarChangeListener
匿名内部类的成员。如果没有引用此侦听器的实例,则无法直接访问它。
其次 - 您不需要自己存储进度。使用sb.getProgress();
。
答案 1 :(得分:0)
检查导入错误"无法解析符号进度"。 并检查,如果你定义了搜索栏的最大值。