2015-07-21 41 views
6

Tôi cố gắng để sử dụng this library project, vì vậy tôi đã cố gắng để chạy các ứng dụng mẫu (trong /app/source/main/ trong liên kết Github), và trong MainActivity.java, tôi nhận được lỗi về việc nhập khẩuCác butterknife.InjectView nhập khẩu không thể được giải quyết

import butterknife.InjectView; 

và cũng trong MainActivity.javaVerticalLinearRecyclerViewSample.java, tại mỗi sự xuất hiện của @InjectView(...) chú thích, tôi nhận được lỗi sau:

InjectView cannot be resolved to a type 

Vì vậy, wh Tôi nên làm gì về điều này?


GÌ tôi đã cố gắng:

Tôi đã thấy this question. Đã không làm việc cho tôi, để lại một bình luận ở đó.

Tôi có followed these steps to include the Butter Knife library cho đến BướC# 3. Giới thiệu về BướC# 4, "Đảm bảo rằng thư mục .apt_generated/nằm trong thư mục gốc của dự án của bạn ..." - dự án này không có bất kỳ thư mục nào có tên .apt-generated hoặc thư mục gốc trong dự án.


Lưu ý: Tôi thực sự sử dụng Eclipse, và các dự án trên Github là dành cho Android Studio, vì vậy tôi đã tạo ra một dự án mới trong nhật thực và sao chép tập tin cá nhân từ các tải dự án Android Studio. Tôi hy vọng điều này không tạo ra sự khác biệt.

+3

Phiên bản ButterKnife nào bạn đang sử dụng? Phiên bản mới nhất đã liên kết thay vì InjectView. Phiên bản trước đó, sử dụng ButterKnife.inject (điều này) để tiêm xem. Ngoài ra, Eclipse không còn được hỗ trợ nữa, hãy bắt đầu sử dụng Android Studio. – Sharj

+0

@Sharj v7.0.1 được tải xuống từ trang này. '@ Bind' hoạt động, cảm ơn bạn rất nhiều. Nếu bạn có thể đăng nó như một câu trả lời, tôi có thể chấp nhận nó. – Solace

+0

được đăng dưới dạng câu trả lời. – Sharj

Trả lời

23

Tín dụng cho @Sharj để trả lời trước.

Bản phát hành Butterknife 7.0.0 bao gồm thay đổi đột nhập đổi tên của các động từ chú thích. Điều này được đánh dấu trong các thay đổi và phản ánh trong trang web.

Version 7.0.0 *(2015-06-27)* 
---------------------------- 

* `@Bind` replaces `@InjectView` and `@InjectViews`. 
* `ButterKnife.bind` and `ButterKnife.unbind` replaces `ButterKnife.inject` 
    and `ButterKnife.reset`, respectively. 
... 

https://github.com/JakeWharton/butterknife/blob/f65dc849d80f6761d1b4a475626c568b2de883d9/CHANGELOG.md

+0

nghèo Hướng đối tượng ... thay đổi ứng dụng giải thích chú thích nếu thực hiện tự động xây dựng – anshulkatta

+0

Trả lời trễ ở đây, nhưng thay đổi trong API đã được thực hiện như một phần của bản phát hành chính 7.x.x do đó nó được phép theo phiên bản ngữ nghĩa. http://semver.org/ – Derek

6

Phiên bản mới nhất có bind thay vì InjectView. Phiên bản trước đó, sử dụng ButterKnife.inject(this) để xem chế độ xem. Ngoài ra, Eclipse không còn được hỗ trợ nữa, hãy bắt đầu sử dụng Android Studio.

+2

Xin chào, tôi thực sự muốn chấp nhận câu trả lời của bạn. Nhưng câu trả lời của Derek (trong đó họ đã công nhận câu trả lời của bạn) mang tính mô tả hơn và toàn diện hơn một chút. Vì vậy, tôi đã hỏi một câu hỏi về việc trao đổi meta stack về cái nào để chấp nhận, và nhận được lời khuyên rằng tôi nên chấp nhận một câu hỏi sẽ hữu ích hơn cho cộng đồng. Vì vậy, tôi chỉ có thể upvote câu trả lời của bạn. Tôi sẽ upvote nhiều hơn nếu tôi có thể. Cảm ơn vì đã trả lời. – Solace

+1

Được bình chọn cho sự trung thực! :) –

+0

Hey. Tôi vẫn đang làm việc trên Eclipse. Có cách nào để nhập ButterKnife lên đó không? – Zen

Các vấn đề liên quan