2013-12-19 50 views
0
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之後,第二個結果非常奇怪!當我開始使用SeekBar時計算出錯了

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上了一個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

首先,我建議使用更好的變量名比PRI和每。在進行任何計算之前,我會嘗試打印價格和百分比值,以確保它們的確是正確的。 – ghostbust555

+0

正如你所知pri是價格,每個是百分之! – user3051834

+0

'第一個結果進展順利,但第二個結果不是!'第一個結果和第二個結果是什麼? – ramaral

回答

0

這應該是你想要什麼:

DiscountValue = price*discount/100.0f; 
ValueToPay = price - DiscountValue; 
+0

輝煌......謝謝! – user3051834