안드로이드 개발 질문/답변
(글 수 45,052)
보통 버튼에 클릭이벤트를 처리했는데요...
Text에 직접 클릭이벤트를 처리하면 좋을 것 같아서...아래처럼 작업했는데...
어플 실행하면....다운되네요...
어디가 문제일까요? 조언좀 부탁드립니다..
Button btnEn1 = (Button)findViewById(R.id.btnEn1); btnEn1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (v.isClickable()) { Toast.makeText(PhoneUsefull.this, R.string.phoneusefull_kr1, 1).show(); } } });
2011.12.22 11:08:16
지금 올려주신 코드는 버튼 객체를 받아서, 이벤트 설정하신 건데요.. 혹시, xml에 정의하실 때 어떤걸로 정의하셨나요?
말씀하신 text가 TextView를 말씀하시는건가요?
제가 보기엔 xml정의와 코드에서 Button객체로 타입캐스팅한 것이 서로 다른 type이지 않을까 싶네요.
추가적으로 TextView에 이벤트를 주기 위해선 위에서 하신방법과 동일하구요..
다만 객체가 Button이 아니라 TextView인 만큼 xml도 TextView로 설정하시고, 코드에서 객체 받을 때도 타입캐스팅을 TextView로 하시면 될 겁니다.
2011.12.22 11:36:48
해결 되었습니다...
xml에서 선언은 TextView에서 하고.... 코드에서는 Button을 사용해서 안된 것이었습니다...
감사합니다.
TextView btnEn1 = (TextView)findViewById(R.id.btnEn1); btnEn1.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { if (v.isClickable()) { Toast.makeText(PhoneUsefull.this, R.string.phoneusefull_kr1, 1).show(); } } });
텍스트에 이벤트를 하신다고 하시는데...TextView쪽 이야기라면
ClassCast관련으로 에러가 나올 확률이 있습니다.
그리고, 로그 첨부해주시면 다른분들이 도와드리기 쉬워요 ^^