8

Gradleを使用してAndroid Studioで作業しています。

私の問題は、 Case Labels の Non-constant Fieldsです。

Android ライブラリでバター ナイフを使用すると、次のエラーが発生します。

tutuFragment.java:31: error: attribute value must be constant
    @InjectView(R.id.noContactTV)

誰かが同じ問題を経験しましたか? もしそうなら、解決策はありますか?

4

5 に答える 5

11

バターナイフは現時点ではライブラリ プロジェクトをサポートしていません。詳細については、 https://github.com/JakeWharton/butterknife/issues/100を参照してください。

于 2014-12-02T02:45:10.573 に答える
1

Fragment が Android ライブラリ プロジェクトにある場合は、以下をお読みください。

https://github.com/excilys/androidannotations/wiki/Library-projects

于 2014-06-05T12:56:51.697 に答える
0

私は同じ問題を経験しました。書くたびにこのエラーが発生していました。

@BindView(R.id.pager) ViewPager pager;

またはビューの他の同様の構文。

このエラーが発生した理由は、Java ファイルにインポートされた R ファイルが別のパッケージからのものであったためです。

問題は、インポートされた R ファイルが別のパッケージからのものだった理由です。

自分のプロジェクトを他のプロジェクトのライブラリとして使用していたためです。そして、ライブラリを作成しているときに、別のパッケージ名を付けました。

于 2016-12-14T07:58:06.973 に答える
0

公式の github ページに解決策があります: https://github.com/JakeWharton/butterknife

しかし、ライブラリ プロジェクトを構成する手順に従っていると、NullPointerException、@onClick 注釈でマークされた関数がビューをクリックしたときに呼び出されないなどの問題が発生しました。

それから私は何かを変えて、ついにそれを作りました。これを参照してください: http://blog.csdn.net/ytzys/article/details/53243438

于 2016-11-20T11:47:10.323 に答える