일전에 올렸습니다만 아직 해결을 못해 다시 올려 봅니다.

달리 해본 방법은 runUIThread를 해봤구요 --> 똑같은 현상 발생

 

"그냥가자"님 flg 방식은 곧장 종료를 보장 못한다고하셨잖아요...

그럼 곧장 종료 하려면 뭘 해야 하나요??

 

아무리 해도 안됩니다 좀 도와 주세요

 

이하 일전에 올렸던 내용임...

 

#######################################

아래와 같이 쓰레드 핸들러를 구현했습니다

버튼 ACTION_DOWN일때 run이 실행되고 ACTION_UP이면 run을 멈춥니다. (runFlgY로 설정)

이상한건...ACTION_UP을 했을때...

InputReader(134): dispatchTouch::touch event's action is 1 이 호출되면서

2~3번 스레드가 더 실행되는 겁니다. ㅠ.ㅠ

아래 LogCat의 경우는 498에서 버튼Up을 했는데... 495까지 실행이 된경우 입니다.

뭐가 문제 인지... 알 수가 없습니다.

여러 고수님들 도와 주세요~! ㅠ.ㅠ

  /**
 * Y축 핸들러
 */
Handler mHandlerY = new Handler() {
 @Override
 public void handleMessage(Message msg) {
  horizonParam.setMargins(valX, msg.arg1, 0, 0);
  lytMove.setLayoutParams(horizonParam);
 }
};/**
 * Y축 스레드
*/
class BackThreadY extends Thread {
 Handler mHandlerY;
BackThreadY(Handler handler) {
  mHandlerY = handler;
 }
 @Override
 public void run() {
  while (runFlgY) {
   y--;
   Message msg = Message.obtain(mHandlerY, 0, y, 0);
   Log.i("SCR_Y", 550 + "," + y);
   mHandlerY.sendMessage(msg);
   try {Thread.sleep(mSpeed);} catch (InterruptedException e) {;}
  }
 }
}// Y축 터치 리스너
btnMove.setOnTouchListener(new View.OnTouchListener() {
 @Override
 public boolean onTouch(View v, MotionEvent event) {
  mThreadY = new BackThreadY(mHandlerY);
  mThreadY.setDaemon(true);
  switch (event.getAction()) {
  case MotionEvent.ACTION_DOWN:
   mThreadY.start();
   break;
  case MotionEvent.ACTION_UP:
   runFlgY = false;
   break;
  }
  return false;
 }
});## LOGCAT ##
12-12 09:36:58.787: INFO/SCR_Y(2324): 550,501
12-12 09:36:58.791: INFO/SCR_Y(2324): 550,500
12-12 09:36:58.795: INFO/SCR_Y(2324): 550,499
12-12 09:36:58.795: INFO/SCR_Y(2324): 550,498
12-12 09:36:58.795: INFO/InputReader(134): dispatchTouch::touch event's action is 1
12-12 09:36:58.795: INFO/InputDispatcher(134): Delivering touch to current input target: x: 408.851776, y: 757.947449, action: 1, channel '40a79130 com.ASDF/com.ASDF.main.asdf (server)'
12-12 09:36:58.799: INFO/SCR_Y(2324): 550,497
12-12 09:36:58.803: INFO/SCR_Y(2324): 550,496
12-12 09:36:58.806: INFO/SCR_Y(2324): 550,495