총 게시물 933건, 최근 0 건 안내 RSS 글쓰기
이전글  다음글  목록 글쓰기
[안드로이드]

하나의 버튼에 터치,클릭 이벤트

글쓴이 : 망한인생 날짜 : 2017-03-21 (화) 10:48 조회 : 864
글주소 : http://www.androidside.com/B49_best/12720
 
  BOLD 교보문고
BOLD, 신간, 베스트셀러 업데이트, 최대1만원 할인+바로드림 서비스!
www.kyobobook.co.kr
  평택아이폰수리 아이폰수리존
BEST 아이폰수리,액정수리, 신규.중고폰, 저렴한 액정수리, 정품수리.
blog.naver.com/limhanki5434
  아이폰수리 No.1 리퍼닷컴
정품수리, 리퍼, 교환, AS보증, 전국수리, 당일수리, 파격할인, 아이폰수리점
www.repcom.kr
신청하기


btn_send.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {


String text = textView_get.getText().toString();
Send(socket, text);
}
});
btn_send.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {

int action = event.getAction();

if (action == MotionEvent.ACTION_DOWN) {
String text = textView_get.getText().toString();
Send(socket, text);

} return false;
}
});

버튼을 누르면 Send()부분이 두 번 진행됩니다
질문이에요 ㅠㅠ 
1. 버튼에 클릭, 터치 이벤트가 둘 다 동작 되는 건가요?
2. 만약 둘 다 동작된다면 터치랑 클릭을 따로하려면 어떻게 해야하나요?




질문답변 게시판에서 궁금한 사항을 해결하셨다면, 애써 답변해주신 분께 잘 되었다고 따뜻한 댓글 한마디 남겨주세요.
그리고 답변해주신 분의 글을 '추천' 해주세요.
추천받으신 분에게 1포인트가, 추천하신 분에게도 1포인트가 적립됩니다. ^^

OSKiller 2017-03-21 (화) 11:17 추천추천 2 반대 0
1 둘다 동작 됩니다
2 구현하신게 같은 코드인데 따로 한다는게 무슨 의미인지 모르겟네요
OSKiller 2017-03-21 (화) 11:17
베플로 선택된 게시물입니다.
1 둘다 동작 됩니다
2 구현하신게 같은 코드인데 따로 한다는게 무슨 의미인지 모르겟네요
댓글주소 추천 2 반대 0
     
     
망한인생 2017-03-21 (화) 11:20
[@OSKiller]클릭버튼을 누르면 터치도 동작하고 클릭도 동작해서 Send가 두 번 동작되어서요 ㅠㅠ 터치했을때랑 클릭을 눌렀을때 각각 send를 한 번씩만 동작시키고 싶어서요 ㅠㅠ 
댓글주소 추천 1 반대 0
OSKiller 2017-03-21 (화) 11:22
그렇다면 둘중 하나만 등록 하셔야죠?
댓글주소 추천 1 반대 0
OSKiller 2017-03-21 (화) 11:23
이벤트 정의를 정확하게 하세요
누르기만 해도 전송 할것인지, 아니면 클릭일때만 전송 할것인지
댓글주소 추천 1 반대 0
     
     
망한인생 2017-03-21 (화) 11:29
[@OSKiller]누를때도 전송되고 클릭할때도 전송되게 해야하는데 그럼 두 번 동작하는 것은 어쩔수가 없는부분인건가요?ㅠㅠ
댓글주소 추천 1 반대 0
한신IT타워 2017-03-21 (화) 11:25
터치랑 클릭의 차이를 모르시는 것 같네요

같은곳을 클릭은 눌렀다가 뗄 때 발생하는 동작이고

터치는 말 그대로 터치입니다

버튼을 터치할 때 Up, Down, Move 계속 이벤트가 들어옵니다

손가락이 버튼에서 떨어지면 up, 닿으면 down, 움직이면 move 입니다.

지금 클릭 할 때도 send()를 호출하고 터치다운 즉 손가락으로 해당 버튼을 눌렀을 때에도 send()를 호출하니 두 번 호출되는게 당연해요

순서는 action_down이 먼저이고 그 다음이 클릭이 들어옵니다
댓글주소 추천 1 반대 0
     
     
망한인생 2017-03-21 (화) 11:30
[@한신IT타워]누를때도 전송되고 클릭할때도 전송되게 해야하는데 그럼 두 번 동작하는 것은 어쩔수가 없는부분인건가요?ㅠㅠ
댓글주소 추천 1 반대 0
OSKiller 2017-03-21 (화) 11:44
???????????????????
그럼 어떻게 동작 되길 원하시는거죠?
질문자님께서 원하시는 동작을 모르겟네요 
댓글주소 추천 1 반대 0
     
     
망한인생 2017-03-21 (화) 11:46
[@OSKiller]클릭할때랑 터치할때 둘다 전송이 가능해야해서요 ! 그럼 두 번 동작할 수 밖에 없는 게 맞는 것 같아요 ㅠㅠ 감사합니다 
댓글주소 추천 1 반대 0
detec맨 2017-03-21 (화) 12:46
클릭, 터치을 따로  동작하게 해야된다는게 혼자 10분을 생각을해도 무슨말인 모르겠다는..
댓글주소 추천 1 반대 0
lesky 2017-04-03 (월) 15:08
우선 망한인생님이 말씀하신부분이 클릭할때랑 터치할때랑 의 차이를 전혀 모르시는것같아요 우선 저이벤트들은 기본적으로 Touch가 상위 이벤트이구요 Touch가 발생후 click이 발생합니다 한마디로 그냥 눌러도 Touch는 발생하고 클릭상황에도 Touch는 발생하고 LongClick에도 Touch는 발생한다는겁니다 Touch이후의 상황에따라 구분지어서 이벤트를 발생시키는겁니다 즉 눌렀을때나 클릭했을때나 다 이벤트를 발생시키고 싶으시다면 Touch에 이벤트를 등록하시고 그후에 제한해야하는 동작을 막으면 됩니다 하지만.. 그게아니라 클릭같은 특정동작에만 발생시키면된다면 예를들어 누른상태에서는 드래그하거나할때 발생하면안된다하면 click과 Longclick같은 상황에따른 이벤트를 등록하면됩니다.
댓글주소 추천 1 반대 0
     
     
망한인생 2017-04-04 (화) 09:29
우와 좋은설명 감사합니다!ㅎㅎ
댓글주소 추천 0 반대 0
이전글  다음글  목록 글쓰기

 


Copyright ⓒ www.androidside.com. All rights reserved.
채팅 권한: 글쓰기 1개
2레벨 이상만 대화 가능
공개 채팅: 평일 !(9시 ~ 17시),토,일
안사2 변경사항 보러가기 챗방이 잘 안보이면 크롬에서 접속해주세요
챗방 숨기기 |  챗방 보이기