26

バターナイフ ライブラリを使用してビューを完全に注入しました。しかし、たとえばリスナーを実装しようとすると、実装onclickできません。次の Java コードは、私の問題を理解するのに役立ちます。

Java コード:

public class LoginActivity extends ActionBarActivity{
    @InjectView(R.id.toolbar) Toolbar toolbar;
    @InjectView(R.id.btn_login) Button login;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.login);
        ButterKnife.inject(this);

        initialize();
        //initListeners();

        @OnClick(R.id.btn_login)
        public void submit(View view) {
          // TODO submit data to server...
        }
    }

    /*private void initListeners() {
        @OnClick(R.id.btn_login)
        public void login(){

        }
    }*/

    private void initialize() {
        setSupportActionBar(toolbar);
        getSupportActionBar().setIcon(R.drawable.toolbar_icon);
        getSupportActionBar().setTitle(null);
        getSupportActionBar().setDisplayShowHomeEnabled(true);
    }
}

なぜそれが起こっているのか教えてください。コードに何か問題がありますか?次の URL を使用して、ButterKnife と互換性のある IDE を構成済みです。

http://stackoverflow.com/questions/27754811/onclick-is-not-working-in-implementation-of-butterknife-library

この問題に関する提案があれば教えてください。前もって感謝します..

4

5 に答える 5

4

必要な依存関係をすべて追加してください

dependencies {
compile 'com.jakewharton:butterknife:8.4.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
}
于 2016-12-21T17:28:08.897 に答える