J'utilise Butterknife: 8.8.1 comme mentionné hereAndroid - Couteau à beurre 8.8.1 NullPointerException
Mon niveau projet gradle est comme ci-dessous
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.jakewharton:butterknife-gradle-plugin:8.8.1'
...
}
}
apply plugin: 'com.jakewharton.butterknife'
Module Level Gradle comme ci-dessous
apply plugin: 'com.android.library'
apply plugin: 'com.jakewharton.butterknife'
dependencies {
...
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'
}
Fichier d'activité est comme ci-dessous
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.details);
ButterKnife.bind(this);
ButterKnife.setDebug(true);
}
fichier xml est comme ci-dessous
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/device_info_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/sensor_settings_background">
....
<RelativeLayout
android:id="@+id/container_buttons"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginLeft="8dp"
android:layout_marginRight="8dp"
android:background="@color/settings_background">
<Button
android:id="@+id/connect_button"
android:layout_width="wrap_content"
android:layout_height="36dp"
android:layout_alignParentLeft="true"
android:background="@drawable/selector"
android:text="@string/connect"
android:textColor="@color/red"
android:textStyle="italic" />
<Button
android:id="@+id/register_button"
android:layout_width="wrap_content"
android:layout_height="36dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="4dp"
android:text="@string/register"
android:visibility="gone" />
<Button
android:id="@+id/unregister_button"
android:layout_width="wrap_content"
android:layout_height="36dp"
android:layout_alignParentRight="true"
android:background="@drawable/selector"
android:text="@string/unregister"
android:textColor="@color/red"
android:textStyle="italic"
android:visibility="gone"
tools:visibility="visible" />
</RelativeLayout>
</RelativeLayout>
Après la compilation fichier R2.java est généré avec des ressources se Ids et images.
Je reçois NullPointerException
Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.view.View.setClickable(boolean)' on a null object reference
Quelqu'un peut me aider à comprendre ce que je fais mal ici.
R2? Pourquoi ce n'est pas R.id.something? http://jakewharton.github.io/butterknife/ –
dans la dernière version 8.8.1 lisez cette ligne * Maintenant, assurez-vous d'utiliser R2 au lieu de R dans toutes les annotations de Butter Knife., aussi, il n'autorisera pas R.id maintenant https: //github.com/JakeWharton/butterknife – prGD
R2 est pour les projets de bibliothèque. Si vous avez un projet de bibliothèque: ajoutez votre mise en page XML à la question. Sinon, utilisez R.id.xx – Frank