0

현재 Android Bootstrap 앱에서 코딩하고 있습니다. 새로운 DataPickers를 2.1 + 으로 이식하는 것을 걱정하지 않고 새 위젯을 사용하고 싶습니다. HoloEveryWhere 라이브러리 . 나는이 예외 내가 내 응용 프로그램에서 사용하는 HoloEverywhere 활동에 문제가 있다고 생각HolterEverywhere/Android 부트 스트랩으로 Butterknife 라이브러리가 작동하지 않습니다.

E/AndroidRuntime﹕ FATAL EXCEPTION: main 
    java.lang.RuntimeException: Unable to start activity ComponentInfo{nl.webridge.whtsnxt.debug/nl.webridge.whtsnxt.authenticator.BootstrapAuthenticatorActivity}: butterknife.ButterKnife$UnableToInjectException: Unable to inject views for n[email protected]40619210 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1651) 
      at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 
      at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
      at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 
      at android.os.Handler.dispatchMessage(Handler.java:99) 
      at android.os.Looper.loop(Looper.java:130) 
      at android.app.ActivityThread.main(ActivityThread.java:3687) 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:507) 
      at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
      at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
      at dalvik.system.NativeStart.main(Native Method) 
    Caused by: butterknife.ButterKnife$UnableToInjectException: Unable to inject views for n[email protected]40619210 
      at butterknife.ButterKnife.inject(ButterKnife.java:176) 
      at butterknife.ButterKnife.inject(ButterKnife.java:104) 
      at nl.webridge.whtsnxt.authenticator.BootstrapAuthenticatorActivity.onCreate(BootstrapAuthenticatorActivity.java:140) 
      at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
      at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 
            at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 
            at android.os.Handler.dispatchMessage(Handler.java:99) 
            at android.os.Looper.loop(Looper.java:130) 
            at android.app.ActivityThread.main(ActivityThread.java:3687) 
            at java.lang.reflect.Method.invokeNative(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:507) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
            at dalvik.system.NativeStart.main(Native Method) 
    Caused by: java.lang.reflect.InvocationTargetException 
      at java.lang.reflect.Method.invokeNative(Native Method) 
      at java.lang.reflect.Method.invoke(Method.java:507) 
      at butterknife.ButterKnife.inject(ButterKnife.java:171) 
            at butterknife.ButterKnife.inject(ButterKnife.java:104) 
            at nl.webridge.whtsnxt.authenticator.BootstrapAuthenticatorActivity.onCreate(BootstrapAuthenticatorActivity.java:140) 
            at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047) 
            at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1615) 
            at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1667) 
            at android.app.ActivityThread.access$1500(ActivityThread.java:117) 
            at android.app.ActivityThread$H.handleMessage(ActivityThread.java:935) 
            at android.os.Handler.dispatchMessage(Handler.java:99) 
            at android.os.Looper.loop(Looper.java:130) 
            at android.app.ActivityThread.main(ActivityThread.java:3687) 
            at java.lang.reflect.Method.invokeNative(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:507) 
            at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:867) 
            at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:625) 
            at dalvik.system.NativeStart.main(Native Method) 
    Caused by: java.lang.ClassCastException: org.holoeverywhere.widget.AutoCompleteTextView 
      at nl.webridge.whtsnxt.authenticator.BootstrapAuthenticatorActivity$$ViewInjector.inject(BootstrapAuthenticatorActivity$$ViewInjector.java:14) 
            at java.lang.reflect.Method.invokeNative(Native Method) 
            at java.lang.reflect.Method.invoke(Method.java:507) 

을 얻을 디버깅 할 때 나는 또한 Butterknife 라이브러리

와 안드로이드 부트 스트랩을 사용합니다.

예를 들어 나는 가져 오기 org.holoeverywhere.app.Activity; 내 모든 활동 수업에서.

Butterknife use android.app.Activity; 문제는 버터 나이프에서 HoloEverywhere의 활동을 사용하도록 코드를 변경할 수 없다는 것입니다.

나는 버터 나이프와 홀로에 관한 최신 버전을 사용하고 있습니다.

<application 
    android:theme="@style/Holo.Theme.NoActionBar.Fullscreen" 

아니면 단지 (매니페스트도) 문제가 일어나고있는 활동을 물론

<activity 
    android:theme="@style/Holo.Theme.NoActionBar.Fullscreen" 

에서 :

+0

HE는 훌륭하지만 DataPicker 만 필요하면 https://github.com/derekbrameyer/android-betterpickers 또는 다른 라이브러리를 사용할 수 있습니다. 쉬울거야. –

+1

그래, 나도 알아.하지만 오래된 라이브러리와 버그를 수정하기 때문에 도서관을 좋아해. 어쨌든 도와 주셔서 감사합니다! –

답변

1

시도는 당신의 AndroidManifest.xml에 홀로그램 테마를 설정하는 자바 클래스에서 구성 요소가 XML 레이아웃의 홀로 구성 요소로 정의 된 경우 Java 클래스에서 다음과 같이 홀로 라이브러리에서 해당 구성 요소를 가져와야합니다.

import org.holoeverywhere.app.Activity 

또는

import org.holoeverywhere. whatever (like button, switch, whatever) 
+0

나는 버터 나이프 도서관에 있었기 때문에 활동에 대한 수입을 제대로 보지 못했다는 것을 확신했다. 감사! Holo.Theme.NoActionBar. 전체 화면이 이전 장치에서 작동하기 때문에 전체 화면이 actionbarcompat보다 잘 작동합니다! –

+0

한 가지 더 : Holo.theme.noactionbar.fullscreen을 작성했지만 앱에 적용 할 수있는 또 다른 테마가 있습니다. –

+0

그래, 나는 이미 Holo.Theme.Light에 기반을 둔 사용자 정의 테마를 가지고 있다는 것을 알고 있지만 작동 중이지만 Authenticator에 Holo 테마를 적용하는 것을 잊었다! –

0

확인하여 @InjectView의 경우는 올바른 유형이 있습니다.

나는 LinearLayout 대신 ImageView을 사용했습니다.

+1

좋아요 :) HoloEverywhere에서 ActionBarCompat으로 전환 했으므로 모든 것을 제거했습니다. 하지만 답을 주셔서 감사합니다. 아마 다른 사람들에게 도움이 될 것입니다 !! –

0

다른 ButterKnife의 주입 주석을 잘못 사용하고 있지 않은지 확인하십시오. 나는 RuntimeException을 일으키는 RecyclerView에 대해 @OnItemClick 주석을 사용했습니다.