如何使用Seekbar值的值?

时间:2014-12-30 11:20:51

标签: java android

代码工作正常,但我的代码中没有获取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");
        }

2 个答案:

答案 0 :(得分:0)

首先 - 您的progress变量是SeekBar.OnSeekBarChangeListener匿名内部类的成员。如果没有引用此侦听器的实例,则无法直接访问它。

其次 - 您不需要自己存储进度。使用sb.getProgress();

答案 1 :(得分:0)

检查导入错误"无法解析符号进度"。 并检查,如果你定义了搜索栏的最大值。