CustomViewGroup 클래스를 만들어 longClick 을 구현하려고 합니다.
onTouchEvent , setOnLongClick 리스너를 구현하였는데 LongClick은 동작됮 않더라구요.
1. CustomViewGroup.onTouchEvent 를 구현하면 longclick 이벤트 동작하지 않음.
2. CustomViewGroup.onTouchEvent 를 구현하지 않으면 longclick 이벤트 정상동작.
어떻게 해야 클릭과 롱클릭을 동시에 구현할 수 있나요?
public class memoryTest extends Activity implements View.OnTouchListener{
..
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
flipper = (ViewFlipper)findViewById(R.id.viewFlipper);
flipper.setOnTouchListener(this);
flipper.setOnLongClickListener(new OnLongClickListener(){
@Override
public boolean onLongClick(View v) {
Toast.makeText(memoryTest.this,"메시지",0).show(); //토스트출력
return false;
}
});
}
// flipper 터지 이벤트 처리
public boolean onTouch(View v, MotionEvent event) {
return true;
}
}




return true 를 반환하면 이후 비슷한 이벤트는 더이상 진행되지 않습니다.
만일 onTouch 에서 특정한 플래그 값만 변경하고,
이후 click, longclick 이벤트가 계속 수행되길 원하시면 필요한 작업 후
return false 를 반환하세요.
이벤트 호출 순서가 아마도 onTouch -> onLongClick -> onClick 일 겁니다.. ^^
중간에 true 를 반환해 버리면 뒤로 이벤트가 전달되질 않습니다.