2012-09-24 107 views
0

我正在創建一個Android應用程序來控制我的電腦的鼠標。該應用程序有4個按鈕(左,右,上,下)。在點擊它們時,應用程序向PC發送一個整數,在PC上運行的Java應用程序將接收它並移動光標。長按按鈕

現在我想要做的就是當用戶長時間按下按鈕時,應用程序必須連續發送數字到PC,直到用戶釋放按鈕。有人請幫我做到這一點。

回答

-1

編輯:

public class MainActivity extends Activity implements OnTouchListener { 

private TextView TV; 
private Thread move_curser; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    TV = (TextView) findViewById(R.id.TV1); 
    TV.setOnTouchListener(this); 
} 

public boolean onTouch(View v, MotionEvent event) { 

    boolean isPressed = event.getAction() == MotionEvent.ACTION_DOWN; 
    boolean isReleased = event.getAction() == MotionEvent.ACTION_UP; 

    if(isPressed) { 
     move_curser = new Thread(new move_curser()); 
     move_curser.start(); 
     your_methode(); 
     return true; 

    } else if(isReleased){ 
     move_curser.interrupt(); 
     return true; 
    } 

    return false; 
} 

public class move_curser implements Runnable { 

    public void run() { 

     int time = 500; 



     try { 
      Thread.sleep(time); 
     } catch (InterruptedException e) { 
      interrupt(); 
     } 
     while(true){ 
      your_methode(); 
      try { 
       Thread.sleep(50); 
      } catch (InterruptedException e) { 
       interrupt(); 
      } 
     } 

    } 
} 
} 
+0

我嘗試過這種代碼。問題是isPressed始終是真的,應用程序會崩潰。 –

+0

@ Anoopss Golden 我認爲那麼你必須使用一個新的線程。 中斷()方法是否適合你..? – Alrick

+0

它也沒有爲我工作...光標仍然無限期地移動....它不會停止,即使按鈕釋放後。 –