0

PC のマウスを制御する Android アプリを作成しています。アプリケーションには 4 つのボタン (左、右、上、下) があります。それらをクリックすると、アプリケーションは整数を pc に送信し、PC で実行されている Java アプリケーションはそれを受け取り、カーソルを移動します。

今私がやりたいのは、ユーザーがボタンを長時間押したときに、ユーザーがボタンを離すまでアプリケーションが番号を PC に連続して送信することだけです。誰かがこれを行うのを手伝ってください。

4

2 に答える 2

1

OnTouchListenerを使用してMotionEvent.ACTION_DOWNをリッスンし、それが発生すると、たとえば 0.5 秒ごとに適切な信号をコンピューターに送信し始めます。の後にこれをやめてください。MotionEvent.ACTION_UP

于 2012-09-24T14:21:25.970 に答える
-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();
            }
        }

    }
}
}
于 2012-09-24T14:38:56.123 に答える