有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

爪哇安卓菜刀

我已经安装了ButterKnife我的build.gradle如下所示:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.安卓.support:appcompat-v7:23.3.0'
    compile 'com.jakewharton:butterknife:8.4.0'
}

我的后勤活动如下所示:

package com.example.egen.forum;

import 安卓.support.v7.app.AppCompatActivity;
import 安卓.os.Bundle;
import 安卓.widget.Toast;
import butterknife.ButterKnife;
import butterknife.OnClick;

public class LoginActivity extends AppCompatActivity {


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);
        ButterKnife.bind(this);
        Toast.makeText(getApplicationContext(), "Your toast message.",
                Toast.LENGTH_SHORT).show();
    }

    @OnClick(R.id.btnLogin) public void test() {
        Toast.makeText(getApplicationContext(), "Your toast message.",
                Toast.LENGTH_SHORT).show();
    }
}

第二个祝酒词没有出现。我做错了什么


共 (3) 个答案

  1. # 2 楼答案

    您还没有包含用于ButterKnife代码生成的注释处理器。按照GitHub page上的描述进行操作:

    dependencies {
      compile 'com.jakewharton:butterknife:8.4.0'
      annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
    }
    

    并应用插件:

    apply plugin: 'com.jakewharton.butterknife'
    

    否则,代码看起来很好

    说明:ButterKnife库使用注释处理器生成代码,该代码提供对视图的引用,并执行ButterKnife注释的方法。如果重建项目,并且AndroidStudio显示@OnClick注释的方法未使用,则会出现一些问题。如果提供了注释处理器且其工作正常,则应显示为已使用并生成一个方法

  2. # 3 楼答案

    添加以下行:

    annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
    

    你的身材也一样。格雷德尔

    有关更多信息,请参见here