我开始使用SeekBar时计算出错了

时间:2013-12-19 17:09:39

标签: android textview android-edittext seekbar

public class Main extends Activity implements OnClickListener {
TextView ePrice;
TextView InputPrice;
TextView InputPercent;
TextView ePercent;

private SeekBar volumeControl = null;

@Override
protected void onCreate(Bundle savedInstanceState) {
    /** Remove title bar */
    requestWindowFeature(Window.FEATURE_NO_TITLE);

    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    /** Hide Auto Keyboard */
    getWindow().setSoftInputMode(
            WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
    /** Hide Auto Keyboard End here */

    InputPrice = (TextView) findViewById(R.id.ePrice);
    InputPercent = (TextView) findViewById(R.id.ePercents);

    ePrice = (TextView) findViewById(R.id.ePrice);
    ePercent = (TextView) findViewById(R.id.ePercents);

这是我的SeekBar。在这个SeekBar之前我一直在使用EditText并且每件事都没问题但是在我开始使用这个SeekBar后,SECOND结果非常奇怪!!

    SeekBarPer = (SeekBar) findViewById(R.id.volume_bar);
    SeekBarPer.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
        int progressChanged = 0;
        public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser){
            progressChanged = progress;
            TextView label = (TextView) findViewById(R.id.ePercents);
            label.setText(""+progressChanged);
        }
        public void onStartTrackingTouch(SeekBar seekBar) {
        }
        public void onStopTrackingTouch(SeekBar seekBar) {
        }
    });

我有什么:

一个EditText up SeekBar下的一个TextView和另外两个TextView下来显示计算价格和百分比的结果!第一个结果进展顺利,但第二个结果不是! 例如,如果我计算30美元减去50%,我得到第一个结果15和第二个结果35。

我想要的是什么:

只是为了纠正第二个结果

这是计算:

    // show the price to get 
final TextView tR = (TextView) findViewById(R.id.viewResult);
// show the price to pay 
final TextView tRpay = (TextView) findViewById(R.id.viewResultPay);

Button buttonConvert = (Button) findViewById(R.id.buttonConvert);
buttonConvert.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        try {
            double price = Double.parseDouble(ePrice.getText().toString());
            double percent = Double.parseDouble(ePercent.getText().toString());

            double pri = (price / 100.0f) * percent;;
            double per = percent  * ((100.0f - price)/100.0f);

            tR.setText(String.valueOf(pri));
            tRpay.setText(String.valueOf(per));

            tR.setText("" + pri);
            tRpay.setText("" + per);

            // catch
        } catch (NumberFormatException ex) {
            // write a message to users
            tR.setText("");
        }
    }

});

}

更新

我使用SeekBar作为百分比。因此,当我移动SeekBar时,第二个TextView中将会有数字0-100。

提前致谢!

1 个答案:

答案 0 :(得分:0)

这应该是你想要的:

DiscountValue = price*discount/100.0f;  
ValueToPay = price - DiscountValue;
相关问题