안드로이드 개발 질문/답변
(글 수 45,052)
텍스트뷰에 터치리스너와 클릭리스너를 주고 있는데요.
터치 or 클릭시와 그 후에 텍스트 색깔을 바꾸고 싶습니다.
본래 텍스트뷰 색깔: Black
터치리스너에서는
switch(event.getAction()){
case MotionEvent.ACTION_UP:
txt.setTextColor(R.color.black);
break;
case MotionEvent.ACTION_DOWN:
txt.setTextColor(R.color.hotpink);
break;
}
에서 각각 txt.setTextColor(R.color.~)로 값을 변경해 주고 있는데
설정한 색이 되질 않습니다.
마치, 인터넷에서 한 번 클릭한 하이퍼링크는 보라색이 되는 것처럼요;
터치 down 하면 연보랏빛,
터치 up하면 회색이 되고,
검정으로 돌아가지도 않습니다.
2012.01.19 21:48:41
건방진프로그래머 님, 답변 감사합니다.
그런데 false와 true의 문제가 아닌 것 같아요.
터치와 클릭 이벤트를 동시에 충족시키기 위해서
return false; 로 하고 있는데요.
(return true;로 하면 우선순위가 높은 boolean형의 터치만 실행되고,
return false;로 하면 우선순위 높은 터치 실행 후, 우선순위에서 밀린 void형의 클릭이벤트까지 실행한다고 알고 있어요.)
그리고, return true;로 해도 텍스트뷰의 색깔은 회색/연보랏빛만 왔다갔다 해요ㅠ.ㅠ




이거 switch 밑에 return false를 return true으로 바꾸셔야되네요 ㅎㅎ 아래 쪽으로 터치먹나보네요.. 리니어레이아웃까지 가버리는듯요