2016-04-28 58 views
0

findViewById我的痛苦後,我決定用 但不錯的錯誤告訴我,你永遠不會UE的ButterKnife 這裏是錯誤ButterKnife首次使用錯誤

@ InjectView註解類錯誤地在Android框架包。

爲什麼?我的錯誤在哪裏?是gradle dependency錯?

我看到this post但它並沒有幫助我

gradle這個文件(模塊)

apply plugin: 'com.neenbedankt.android-apt' 
buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.neenbedankt.gradle.plugins:android-apt:1.8' 
    } 
} 

dependencies { 
    compile 'com.jakewharton:butterknife:8.0.1' 
    apt 'com.jakewharton:butterknife-compiler:8.0.1' 
} 

在這一行

@BindView(R.id.button_birth_date) 
private Button buttonBirthDate; 

和其他成員變量(視圖)的錯誤使用@BindView

+0

什麼是您的應用程序包名稱? – USKMobility

+0

也添加你的build.gradle – USKMobility

+0

'package =「android.alcode.com.material」'from manifest文件「 –

回答

4

由Jake沃頓, 例外說明了一切:。

@InjectView-annotated class incorrectly in Android framework package. 

你的類是在Android框架包android中。 。應用程序不應該使用android。或java。*包的代碼。黃油刀會熱切拒絕這些包。

更改包名稱。 android.alcode.com.materialsomething.alcode.com.material

0

如果你使用最後一把Butterknife,你可以使用Butte rknife.bind(this)不是Butterknife.inject(this),用於視圖使用@Bind(R.id.idview)而不是@InjectView(R.id.idview)。 見documentation

編輯:改變你的包的名字,你的android can't'use *或Java *,傑克沃頓回答解決

1

你的包名稱中不得包含android字就可以了

,所以要確保your application package名稱不包含 android word就可以了

相關問題