마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

다중이미지 드래그앤 드롭 관련 질문입니다!

0 추천

...
 private ImageView selectImage;
 private int preX;
 private int preY;
 private int x; 
 private int y;
 private int selX; 
 private int selY;
 
 private int tx;
 private int ty;
....
@Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.display);

  //drag and drop
  selectImage = null;
....
imageView1.setOnTouchListener(touchListener);
....
imageView2.setOnTouchListener(touchListener);
....
View.OnTouchListener touchListener = new View.OnTouchListener() {

     @Override
  public boolean onTouch(View v, MotionEvent event) {
      SGD.onTouchEvent(event);
      
   x = (int)event.getX();
   y = (int)event.getY(); 

   switch ( event.getAction()  ) {
       case MotionEvent.ACTION_DOWN:
        if(selectImage == null){
         selectImage = (ImageView)v;
            selectImage.bringToFront(); 

            
            selX = preX = x;
            selY = preY = y;
            
         return true;
        }
        break;
       case MotionEvent.ACTION_MOVE:
        if(selectImage == (ImageView)v){
         tx = x - preX;
         ty = y - preY;

         if(  ((tx > -allowGap) && (tx < allowGap)) && ((ty > -allowGap) && (ty < allowGap))  ){
             return false;
         }else{
          tx = x - selX;
          ty = y - selY;
          selectImage.layout(selectImage.getLeft() + tx, selectImage.getTop() + ty,
            selectImage.getRight() + tx, selectImage.getBottom() + ty);

          preX = x;
          preY = y;

             return true;
         }
        }
        break;
       case MotionEvent.ACTION_UP:
        if(selectImage != null){
         selectImage = null;
         return true;
        }
        break;
   }
   return false;
  }
 };

안녕하세요. 제가 다중이미지 드래그앤 드롭 소스를 얻어서 쓰고 있던 중에 갑자기 작동이 안되서 질문을 올립니다.ㅠㅠ

안드로이드 4.3 에선 잘됐는데 업데이트하고 휴대폰이 4.4.2 버전이 되니까 한 이미지를 드래그 드롭하고 다른 이미지를  터치하면 이전 드래그 드롭했던 이미지가 원위치로 돌아가는 현상이 발생합니다..

뭐가 문제인지 파악이 안되서 질문을 올립니다!

아자아자아자 (120 포인트) 님이 2015년 2월 12일 질문

1개의 답변

0 추천
selectImage.bringToFront();를 빼고 해보세요
alkyne (22,960 포인트) 님이 2015년 2월 12일 답변
잘작동됩니다!!정말 감사합니다!
...