2011-12-14 8 views
0

Je voudrais créer une barre de recherche pour une application Mono pour Android qui permet à l'utilisateur de sélectionner et je veux implémenter le widget SeekBar, comment puis-je utiliser un SeekBarChangeListener() sur Mono pour Android?SeekBar sur Mono pour Android

Répondre

2

Pour écrire un écouteur de changement que vous avez besoin d'une classe qui implémente SeekBar.IOnSeekBarChangeListener:

public class SeekBarListener : Java.Lang.Object, SeekBar.IOnSeekBarChangeListener 
{ 
    public void OnProgressChanged(SeekBar seekBar, int progress, bool fromUser) 
    { 
    } 

    public void OnStartTrackingTouch(SeekBar seekBar) 
    { 
    } 

    public void OnStopTrackingTouch(SeekBar seekBar) 
    { 
    } 
} 

Ensuite, vous pouvez assignons à la barre de recherche:

seekBar.SetOnSeekBarChangeListener(new SeekBarListener()); 
+0

merci mais il jette moi une erreur quand je veux faire ceci \t txtCache.SetText (progrès, Button.BufferType.Normal); hériter d'une autre activité cuz im créer cette barre de recherche dans un dialogue. – arkmetal

0

Eh bien je résoudre ce dans la même classe implémentant SeekBar.IOnSeekBarChangeListener d'une autre manière ici est mon code:

private void CreateDialogSeek() 
    { 

     dialogSeek = new Dialog(this); 
     dialogSeek.SetContentView(Resource.Layout.seekbar_dialog); 
     dialogSeek.SetTitle("Change your configuration"); 
     dialogSeek.SetCancelable(true); 
      //Ok 
      btnOk = (Button)(dialogSeek.FindViewById(Resource.Id.btnSettingsOKSeekBar)); 
      btnCancel = (Button)(dialogSeek.FindViewById(Resource.Id.btnSettingsCancelSeekBar)); 
      SeekBar mSeekBar = (SeekBar)(dialogSeek.FindViewById(Resource.Id.seekbar)); 
      mSeekBar.Progress = cache; 
      mSeekBar.SetOnSeekBarChangeListener(this); 

     dialogSeek.Show(); 
     btnOk.Click += delegate {OKSeek();}; 
     btnCancel.Click += delegate {dialogSeek.Dismiss();;}; 
    } 

    public void OnProgressChanged(SeekBar seekBar, int progress, bool fromUser) 
    { 
     cache = progress; 
    } 

    public void OnStartTrackingTouch(SeekBar seekBar) 
    { 
    } 

    public void OnStopTrackingTouch(SeekBar seekBar) 
    { 
    } 
+0

et sur la méthode OKSeek() je peux mettre ce code qui me trowing une erreur .... txtCache.SetText (cache.ToString(), Button.BufferType.Normal); – arkmetal