2012-11-02 108 views
1

我想滾動textviewbutton處於按下狀態。只要用戶釋放button,我想停止滾動。我在按鈕上使用setOnTouchListener。但我無法做到這一點。任何人都可以請幫助我,並分享一些代碼來做到這一點。Android TextVIew在按鈕保持按下狀態時滾動

arrow_up.setOnTouchListener(new OnTouchListener() { 

      @Override 
      public boolean onTouch(View v, MotionEvent event) { 
       if (event.getAction() == MotionEvent.ACTION_DOWN) { 
        lastDown = System.currentTimeMillis(); 
        System.out.println(System.currentTimeMillis()); 
       flag = true; 
       method(); 
       } else if (event.getAction() == MotionEvent.ACTION_UP) { 
        System.out.println(System.currentTimeMillis() - lastDown); 
        flag = false; 
        method(); 
       } 
       return false; 
      } 
     }); 

public void method() { 
     while(flag == true){ 

      try { 
       Thread.sleep(500); 
       System.out.println("Flag === " + flag); 
       tv.scrollBy(0, -20); 
      } catch (Exception e) { 
       e.printStackTrace(); 
      } 
     } 
     } 

回答

1

您可以通過爲按鈕創建一個OnFocusChangeListener來做到這一點。

mButton.setOnFocusChangeListener(new View.OnFocusChangeListener() 
     { 
      @Override 
      public void onFocusChange(View v, boolean hasFocus) 
      { 
       if (hasFocus) 
       { 
        //code 
       } 
       else 
       { 
        //code 
       } 
      } 
     }); 
+0

謝謝。嘗試你的代碼。 –

相關問題