2011-12-14 3 views
0

Я хотел бы создать поисковую панель для приложения Mono для Android, которое позволяет пользователю выбирать, и я хочу реализовать SeekBar Widget, как я могу использовать SeekBarChangeListener() для Mono для Android?SeekBar on Mono для Android

ответ

2

Чтобы написать изменения слушателю вам нужен класс, который реализует 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) 
    { 
    } 
} 

Затем вы можете назначить, что для строки поиска:

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

спасибо, но он бросает мне ошибка, когда я хочу это сделать \t txtCache.SetText (прогресс, Button.BufferType.Normal); наследуйте от другого действия, потому что создавайте эту кнопку поиска в диалоговом окне. – arkmetal

0

Ну я решить эту проблему в том же классе реализации SeekBar.IOnSeekBarChangeListener по-другому, вот мой код:

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

и по методу OKSeek() я могу поместить этот код, который замалчивал мне ошибку ... txtCache.SetText (cache.ToString(), Button.BufferType.Normal); – arkmetal