Android 黄油刀
Android ButterKnife
我已经安装了 ButterKnife
我的 build.gradle
看起来像这样:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.jakewharton:butterknife:8.4.0'
}
我的 loginActivity 看起来像这样:
package com.example.egen.forum;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.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();
}
}
第二次敬酒没有出现。我在这里做错了什么?
添加这一行:
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
还有你的 build.gradle.
有关详细信息,请参阅 here
您还没有包含用于 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
注释方法,则说明有问题。如果提供了注解处理器并且工作正常,它应该显示为已使用并导致生成的方法。
好吧,Butterknife 是昨天的事情,改用数据绑定:https://developer.android.com/topic/libraries/data-binding/index.html。
这几乎是开箱即用的相同工具
我已经安装了 ButterKnife
我的 build.gradle
看起来像这样:
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.jakewharton:butterknife:8.4.0'
}
我的 loginActivity 看起来像这样:
package com.example.egen.forum;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.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();
}
}
第二次敬酒没有出现。我在这里做错了什么?
添加这一行:
annotationProcessor 'com.jakewharton:butterknife-compiler:8.4.0'
还有你的 build.gradle.
有关详细信息,请参阅 here
您还没有包含用于 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
注释方法,则说明有问题。如果提供了注解处理器并且工作正常,它应该显示为已使用并导致生成的方法。
好吧,Butterknife 是昨天的事情,改用数据绑定:https://developer.android.com/topic/libraries/data-binding/index.html。 这几乎是开箱即用的相同工具