2011-03-22 2 views
0

startActivityForResult로 활동 B를 호출하는 활동이 있습니다. I는 활성 A.에게활동에 대한 뒤로 키가 발신자에게 전달됩니다.

문제를 새로 조치 X 실행 onActivityResult를 가진 결과를 처리하고있어

사용자가 활성이면 키를 누를 때 활동가 실행되는 동작이 그 때문에 취소 B ~이다 뒤로 키 이벤트를 처리 중입니다.

즉, 뒤로 키 이벤트가 활동 A에서도 처리되고 있습니다 ... 왜?

이 앱은 API에 4

감사

+1

Activity B에서 뒤로를 누르면 Activity A도 Activity 스택에서 제거됩니다. –

+0

아니, 활동 A의 핸들러는 또한 작동하지 않습니다 활동 B. –

답변

0

이 활동 B의 onKeyDown()/onKeyUp() 전화를 다시 정의하는 것입니다 해결하는 가장 빠른 방법을 대상으로, 당신은 위로받을 때 super.onKeyDown()를 호출하지 않습니다 키, 그냥 finishActivity()

+0

... 내가 '@Override \t 공공 부울 onKeyUp에 (INT 키 코드, KeyEvent를 이벤트)을 추가 { \t를 금방 만들 뒤로 키 이벤트를 수신 \t \t \t 경우 (keyCode에 == KeyEvent.KEYCODE_BACK) { \t \t \t 마무리(); \t \t \t return true; \t \t} else { \t \t \t return super.onKeyUp (keyCode, event); \t \t \t 이고 활동 A는 또한 뒤로 키 이벤트를 수신합니다. –

관련 문제