Android,Fragment 에서 감청 터치 이벤트 구현
우리 액 티 비 티 에는 터치 사건 의 감청 을 실현 할 수 있 는
onTouchEvent
방법 이 있다 는 것 을 잘 알 고 있 습 니 다.activity 의 터치 이벤트
@Override
public boolean onTouchEvent(MotionEvent event) {
return super.onTouchEvent(event);
}
그러나Fragment
에 대해 서 는 이 방법 이 없다.만약 우리 가fragment
에서 터치 사건 을 감청 하려 면 어떻게 해 야 할 까?내 방법 은 터치 사건 의 배 포 를 스스로 실현 하 는 것 이다.
인터페이스 정의
public interface MyOnTouchListener {
public boolean onTouch(MotionEvent ev);
}
하나 더 만 들 기list
저장 소listener
private ArrayList<MyOnTouchListener> onTouchListeners = new ArrayList<MyOnTouchListener>(
10);
등록,소각 및 배포fragment
터치 사건 을 나 누 어 주 고 터치 사건 을 응답 할 수 있 는 모든fragment
에 게 나 누 어 준다.
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
for (MyOnTouchListener listener : onTouchListeners) {
if(listener != null) {
listener.onTouch(ev);
}
}
return super.dispatchTouchEvent(ev);
}
public void registerMyOnTouchListener(MyOnTouchListener myOnTouchListener) {
onTouchListeners.add(myOnTouchListener);
}
public void unregisterMyOnTouchListener(MyOnTouchListener myOnTouchListener) {
onTouchListeners.remove(myOnTouchListener) ;
}
그러면fragment
에서 우 리 는 이렇게 사용 하면 된다.모니터 를 초기 화한 다음 에activity
에 등록 하고 모니터 에서 제스처 동작 을 감청 한다.
onTouchListener = new MusicActivity.MyOnTouchListener() {
@Override
public boolean onTouch(MotionEvent ev) {
gestureDetector.onTouchEvent(ev);
return false;
}
};
((MusicActivity) getActivity()).registerMyOnTouchListener(onTouchListener);
총결산이상 은 이 글 의 전체 내용 입 니 다.본 논문 의 내용 이 여러분 의 학습 이나 업무 에 어느 정도 도움 이 되 기 를 바 랍 니 다.궁금 한 점 이 있 으 시 면 댓 글 을 남 겨 주 셔 서 저희 에 대한 지지 에 감 사 드 립 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Bitrise에서 배포 어플리케이션 설정 테스트하기이 글은 Bitrise 광고 달력의 23일째 글입니다. 자체 또는 당사 등에서 Bitrise 구축 서비스를 사용합니다. 그나저나 며칠 전 Bitrise User Group Meetup #3에서 아래 슬라이드를 발표했...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.