Używam butterknife przez kilka miesięcy, a ja po prostu zauważyłem w jego dokumentacji, że mówi:Android: Dlaczego musimy używać R2 zamiast R z nożem?
Teraz upewnij się, że używasz R2 zamiast R wewnątrz wszystkich Butter Knife adnotacji.
Dlaczego tak jest? Używam R i wszystko działa idealnie.
Zauważyłem, że wartość ids w R2 dla dowolnego res (kolor, dimen, ...) jest taka sama jak w R. Jedyną różnicą w R2 jest adnotacja typu "@DrawableRes "i" @IdRes "i użył tej adnotacji, aby upewnić się, że zwracasz poprawny i oczekiwany typ. na przykład wartość zwracana "@ ColourRes" powinna być referencją do zasobu kolorystycznego, a wartość zwracana "@DrawableRes" powinna być odniesieniem do zasobów do rysowania. – Sally
@Sally Więc mówisz, że jeśli użyję R2, otrzymam błędy czasu kompilacji na wypadek, gdy spróbuję powiązać id z niewłaściwym typem? – TheCrafter
Wyłączyłem to, adnotacje pomogły nam ulepszyć kontrolę kodu https://developer.android.com/studio/write/annotations.html – Sally