모션 이벤트를 이용하여 이미지뷰를 바꾸고있습니다.
0인 상태에서 다운일 경우 -1인 이미지로
0이나 -1인 상태에서 업일 경우 1인 이미지로 바뀌는 상태인데요.

타임리셋을 이용하여 3초마다 0인 이미지로 되돌려주는데
리셋전에 -1인 이미지가 리셋으로 0으로 돌아옵니다.
그 상태에서 업을 하여 1인 상태로 갈려고하면
순간적으로 -1로 갔다가 1로 돌아와버리네요
반대의 경우도 마찬가지이구요
즉 리셋 전에는 업 다운을 반복해도 부드럽게 움직이는데
리셋후에는 리셋 바로 전 이미지의 반대로 갈라고하면 부자연스럽네요

--터치 이벤트 구간입니다.
public boolean onTouch(View v, MotionEvent event) {
    // TODO Auto-generated method stub
    //Log.d("d1", "Touch >>> stratNum : " + stratNum);
    if(event.getAction()==MotionEvent.ACTION_DOWN){
     lstartY=event.getY();
    }
    if(event.getAction()==MotionEvent.ACTION_UP){
     lendY=event.getY(); 
    }
    ln=lendY-lstartY;
    if(ln < 0){
     charleft.setImageResource(R.drawable.imgbu);
     charleft.invalidate();
     userInfo.left = 1;
    }
    if(ln == 0){
     //charleft.setImageResource(R.drawable.imgbm);
     userInfo.left = 0;     
    }
    if(ln > 0){
     charleft.setImageResource(R.drawable.imgbd);
     charleft.invalidate();
     userInfo.left = -1;
    }
    charleft.invalidate();
    isOk();
    return true;
   }

--리셋구간입니다.
public class TickHander extends Handler{
  @Override
  public void handleMessage(Message msg) {
   // TODO Auto-generated method stub

    Random rand = new Random();
    int n =rand.nextInt() % ment.length;
    
    if(n < 0){
      n = -n;
    }
    charleft.setImageResource(R.drawable.imgbm);
    charleft.invalidate();    
    charright.setImageResource(R.drawable.imgwm);
    charright.invalidate();

    lstartY-=lstartY;
    lendY-=lendY;
    rstartY-=rstartY;
    rendY-=rendY;
    ln -= ln;
    rn -= rn;
    */
    tickHander.sleep(5000);
  }
  public void sleep(int i) {
   // TODO Auto-generated method stub
   removeMessages(0);
   sendMessageDelayed(obtainMessage(0), i);
  }
 }

잘못된 부분이 있으면 지적 부탁드려요

그리고 setImageResource 로 이미지를 바까주는것보다 더 나은 방법이 있을까요?