2011-01-25 5 views
5

Benim android uygulamasında TextView ve SeekBar var. Her iki değer de bir buton tıklatması sonucu hesaplamak için kullanılır.Capture SeekBar değerleri

Sorun, SeekBar değerini nasıl yakalayacağınız ve hesaplama için String'e nasıl dönüştürüleceğidir.

kod

aşağıdaki gibidir:

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()); 
    } 
} 

Yardım edin. Şimdiden teşekkürler.

cevap

24

ProgressBar sınıfının getProgress() yöntemini SeekBar sınıfının ProgressBar alt sınıflarından biri olarak görüyorsunuz.

Temel olarak böyle bir şey olurdu. size daha sonra bir tamsayı olduğu Dize dönüştürebilirsiniz sadece bu yüzden bir dize için bir int dönüştürmek istediğiniz neden

int value = seekBar.getProgress(); 

Ayrıca ben gerçekten anlamıyorum. Bu bir anlam ifade etmiyor.

5

İlerleme değerini global bir tamsayı değişkenine kaydedebilirsiniz. O zaman istediğiniz yerde kolayca kullanabilirsiniz. Bu Kodu Deneyin. Size yardımcı olacaktır ...

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()); 
    } 
});