2012-09-24 73 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

它也没有为我工作...光标仍然无限期地移动....它不会停止,即使按钮释放后。 –