2011-01-25 67 views
5

在我的Android應用程序中,我有一個TextView和一個SeekBar。這兩個值都用於計算單擊按鈕上的結果。Capture SeekBar值

問題是如何捕獲SeekBar值並將其轉換爲字符串進行計算。

的代碼如下:

class clicker implements Button.OnClickListener { 
    public void onClick(View v) { 
     String a,b; 
     Integer vis; 
     a = txtbox3.getText().toString(); 
     b = slider1.getContext().toString(); 
     vis = (Integer.parseInt(a)*Integer.parseInt(b))/100; 
     tv.setText(vis.toString()); 
    } 
} 

請幫助。提前致謝。

回答

24

您正在尋找ProgressBar類作爲SeekBar的方法getProgress()ProgressBar一個子類。

所以基本上它會是這樣的。

int value = seekBar.getProgress(); 

此外,我真的不明白你爲什麼要一個int轉換爲字符串,所以您可以晚些時候字符串轉換爲整數。這沒有任何意義。

5

您可以將進度值存儲到全局整數變量中。 然後,您可以輕鬆地在任何需要的地方使用它。 試試這個代碼。 它會幫你...

int p=0; 
@Override 
    public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

final TextView textView=(TextView) findViewById(R.id.t1); 
    final SeekBar seek=(SeekBar) findViewById(R.id.seekBar1); 
final Button button=(Button) findViewById(R.id.button1); 

    seek.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 

    @Override 
    public void onStopTrackingTouch(SeekBar seekBar) { 
     // TODO Auto-generated method stub 
    } 

    @Override 
    public void onStartTrackingTouch(SeekBar seekBar) { 
     // TODO Auto-generated method stub 
    } 

    @Override 
    public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) { 
     // TODO Auto-generated method stub 
     p=progress; 
    } 
}); 


button.setOnClickListener(new View.OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 

     String a = textView.getText().toString(); 
     vis = (Integer.parseInt(a)*p)/100; 
      text.setText(vis.toString()); 
    } 
});