2011-01-25 71 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()); 
    } 
});