2014-06-13 3 views
14

우리는 현재 app-version에서 ototo의 EventHandler에 문제가 있습니다.RuntimeException : @ otto 이벤트를 디스패치 할 수 없습니다.

"이유 : java.lang.RuntimeException가 : 이벤트 발송 할 수 없습니다 : classcom.nameOfBrand.ui.events.SwitchFragmentEvent이 핸들러에 [이벤트 핸들러 우리는 다음과 같은 설명과 함께, 우리의 충돌 로그에 RuntimeException를 얻을 수 공공 무효 com.nameOfBrand.ui.activities.MainActivity.onSwitchFragmentEvent (com.nameOfBrand.ui.events.SwitchFragmentEvent)] "

우리는 버튼이 있고 그 OnClickListener를 우리가 발사 자기 정의 SwitchFragmentEvent을. 이상한 상황에서 프레임 워크는 이벤트를 전달할 수 없으며 RuntimeException을 던집니다.

버튼이있는 부분은 AbstractResultListFragment이며이 부분은 AbstractFragment입니다. onResume of AbstractFragement에 EventBus를 등록하고 onPause에서 등록을 취소합니다. 이 버튼 하나만 제외하면 모든 것이 잘 작동합니다./

누구나 아이디어를 갖고 있거나 이와 관련이 있습니까?

업데이트 : Scompt가 맞았습니다. RuntimeException은 코드에서 NullPointerException이 발생하여 발생합니다. 들으

Tipp :이 끝날 때까지 당신의 충돌 로그를 읽기)

+1

예외에서 추가 정보가 있습니까? 그 시점에서 (https://github.com/square/otto/blob/master/otto/src/main/java/com/squareup/otto/Bus.java#L386) 래핑 된 예외가 있어야합니다. –

+0

아, 알겠습니다! 지금까지 크롤 로그에서 스크롤하지 않았습니다. 제 경우에는 그것은 NullPointer이고 당신이 말했듯이 프레임 워크에서이 RuntimeException 내부를 감싸고 있습니다. 감사합니다 – iFoukis

+0

@ scompt.com 포장 된 예외가 없습니다. 내 activitie의 뷰 페이지에있는 프래그먼트가 이벤트를 수신해야하는 나의 활동에서'@ Produce' 메소드가 있습니다. 하지만 예외와 응용 프로그램 충돌 –

답변

7

should be 충돌에 대한 자세한 정보를 제공 할 것입니다 그 시점에서 포장 예외를.

+1

어떻게 ** 보호 ** 메서드 "void dispatch (Object event, EventHandler wrapper)"를 사용해야합니까? –

+0

어떻게 이것이 해결책 일 수 있습니까? 그것은 나를 해결해주지 않는 제 3의 방법으로 연결시켜 주는가? 나는 더 진보되고 명확한 설명으로이 문제를 해결할 필요가있다! – blueware

1

AndroidAnnotation과 함께 사용하는 경우 치료 방법을 보려면 @UiThread을 추가하십시오. 메서드는 private이 아니어야합니다.

+0

'치료 방법보기 '란 무엇을 의미합니까? –

+0

@IgorGanapolsky // 뷰를 조작하는 메소드를 의미합니다. – Youngjae

관련 문제