2013-03-14 35 views
0

下回調搜索欄執行鍼對搜索條實施:回調Android中

void onProgressChanged(Seekbar seekBar, int progress, boolean fromTouch); 

void onStartTrackingTouch(Seekbar seekBar); 

void onStopTrackingTouch(Seekbar seekBar); 
  1. 但被壓在搜索條時,確定接收到什麼回調?

  2. 當用戶剛剛開始移動seekbar時,會收到onStartTrackingTouch()。 當用戶完成移動seekbar時收到onStopTrackingTouch()。 我在這些定義中是否正確,或者這兩個回調是否是其他的?

有人可以幫助這兩個查詢嗎? 感謝

回答

1

你是什麼意思

但被壓在搜索條時,確定接收到什麼回調?

你有一個確定的按鈕,應該實現的東西?如果是這樣,你可以使用整數值來保存進度改變時的進度,然後當你按下ok按鈕時,你可以執行任何你想要的。看看這個例子

seekerSpacing.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 
      doSomethingAfterTracking(); 
     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 
      doSomethingWhenTrackingStarts(); 
     } 

     /** 
     * seekBar The SeekBar whose progress has changed 
     * progress The current progress level. This will be in the range 0..max where max was set by setMax(int). (The default value for max is 100.) 
     * fromUser True if the progress change was initiated by the user. 
     */ 
     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, 
       boolean fromUser) { 
      setMyCurrentProgress(progress); 
      doSomeOtherMethodIfRequired(); 
     } 
    }); 

你可以看看Android docs的正確解釋。但這是一個快速總結。

只要觸摸到搜索欄,就會調用onStartTrackingTouch方法。當您觸摸到搜索欄時,將始終調用此方法。

只要鬆開搜索欄,就會調用onStopTrackingTouch方法。當您放開seekbar滑塊時,將始終調用此方法。

只要seekbar的進度發生變化,就會調用onProgressChanged方法。此方法僅在進度更改時調用

+0

seekbar對話框中也有OK按鈕。因此,當用戶按下OK按鈕時應該收到一些回叫。我該如何執行?我的意思是我需要知道用戶什麼時候按下確定按鈕 – Sunny 2013-03-14 06:26:20

+0

您可以發佈代碼,瞭解如何創建搜索欄以及實現setOnSeekBarChangeListener – Neil 2013-03-14 06:39:34