2011-10-07 2 views
4

Android 애플리케이션에서 뷰가 있으면 onViewCreated을 재정 의하여 일부 OnClickListeners를 설정하는 조각이 구현되었습니다.onViewCreated 호환성 라이브러리

구현시이 모든 것이 정상적으로 작동합니다. 그러나 호환성 라이브러리 v4 r3을 추가하자마자이 메소드가 전혀 호출되지 않는 것 같습니다.

현재 설치 프로그램을 onResume으로 마이그레이션하고 있지만 실제로 이상적은 아닙니다. 그래서 내 질문은 다음과 같습니다.

  • 호환성 라이브러리의 버그입니까?

  • 더 나은 해결 방법이 있습니까? 내가 할 수이 스택 트레이스를 가지고

좀 더 파고 후 다른 일을 시도 내게는 참으로 호환성 라이브러리의 버그 믿습니다.

10-07 14:25:11.130: ERROR/AndroidRuntime(2964): FATAL EXCEPTION: main 
     java.lang.NoSuchMethodError: android.support.v4.app.Fragment.onViewCreated 
     at roboguice.fragment.RoboFragment.onViewCreated(RoboFragment.java:18) 

하지만 더 이상합니다. 호환성 라이브러리 소스를 보면 실제로 그 메소드가 있지만 비어 있습니다.

+0

왜 'onCreateView()'에서 클릭 리스너를 설정하지 않습니까? – Macarse

+0

너무 빠르기 때문에 .. roboguice를 사용하고 있으며 주사가 먼저 발생해야합니다. 그것을 생각해 보니 .. 나는 그것을 할 수 있을지도 모른다. –

+0

아니요 .. 주사는 onViewCreated의 RoboFragment에서 발생하며 결코 호출되지 않습니다. –

답변

3

많은 앞뒤로 디버깅을 한 후에 문제가 발견되었습니다. 내 프로젝트에서 이전 버전의 호환성 라이브러리를 사용하고있는 것으로 나타났습니다. 나는 지금 내 프로젝트를 갱신하고 모든 것이 잘 작동한다. 참고로 필요한 변화는 메이븐 안드로이드 SDK 배포자와 메이븐의 repo에 배포 도서관이

 <dependency> 
      <groupId>android.support</groupId> 
      <artifactId>compatibility-v4</artifactId> 
      <version>r3</version> 
     </dependency> 

처럼되고 받는다는 치어 파일의 호환성 라이브러리 의존성이다. 나는 updated the roboguice wikilinked gist on my github account도 가지고 있습니다.

+0

http://www.simpligility.com/2012/01을 참조하십시오./android-compatibility-library-following-lint/Maven Android SDK를 사용해야하는 것을 피하는 방법에 대한 자세한 내용 Deployer – emmby

+0

훨씬 새로운 compat 개정판 r10에서 동일한 문제가 발생합니다. 다른 곳에서는 쉽게 바인딩하거나 할 수 있기 때문에 ... –

+0

잘못된 것입니다. 사용자 정의 구현에 뷰가 아닌 멤버를 주입 한 직후에 뷰를 주입하면 작동하지 않습니다. –