2015-07-21 34 views
6

我想使用this library project,所以我試圖運行(在Github上鍊接/app/source/main/)示例應用程序,並在MainActivity.java,我越來越對進口的錯誤進口butterknife.InjectView不能得到解決

import butterknife.InjectView; 

以及在MainActivity.javaVerticalLinearRecyclerViewSample.java,在@InjectView(...)標註的每一次出現,我得到以下錯誤:

InjectView cannot be resolved to a type 

所以WH我應該這樣做嗎?


我的嘗試:

我見過this question。沒有爲我工作,在那裏留下評論。

我有followed these steps to include the Butter Knife library直到第3步。關於第4步,「請確保.apt_generated /文件夾位於您的項目根目錄中...」 - 此項目沒有任何文件夾,名稱爲.apt-generated或項目根文件夾中的某個文件夾。


注:我實際使用Eclipse和Github上的項目是Android工作室,所以我創建Eclipse的一個新項目,並從下載的Android Studio項目複製單個文件。我希望這沒有什麼區別。

+3

您正在使用哪種版本的ButterKnife?最新版本綁定而不是InjectView。在此之前的版本中,使用ButterKnife.inject(this)來注入視圖。此外,Eclipse不再受支持,開始使用Android Studio。 – Sharj

+0

@Sharj v7.0.1從此頁面下載。 '@ Bind'有效,非常感謝。如果你可以把它作爲答案發布,我可以接受它。 – Solace

+0

發佈爲答案。 – Sharj

回答

23

感謝@Sharj先回答。

Butterknife 7.0.0發佈包含註釋動詞重命名的重大改變。這在變更日誌中突出顯示,並反映在網站上。

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

可憐的面向對象...如果完成了自動構建,更改註釋應用程序 – anshulkatta

+0

遲到的響應,但API中的更改是作爲7.x.x主要版本的一部分完成的,因此可以在語義版本控制下進行。 http://semver.org/ – Derek

6

最新版本的bind,而不是InjectView。在此之前的版本中,使用ButterKnife.inject(this)來注入視圖。此外,Eclipse不再受支持,開始使用Android Studio。

+2

嗨,我真的很想接受你的答案。但是Derek的答案(他們已經認可了你的答案)更具描述性,更全面一些。所以我問了一個關於哪一個接受元堆棧交換的問題,並得到了一個建議,我應該接受一個對社區更有幫助的問題。所以我只能提出你的答案。如果可以的話,我會加倍努力。謝謝你的回答。 – Solace

+1

Upvoted爲誠實! :) –

+0

嘿。我仍然在使用Eclipse。那裏有導入ButterKnife的方法嗎? – Zen

相關問題