2016-04-28 88 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就可以了

相关问题