首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ButterKnife 8.6.0不工作

ButterKnife 8.6.0不工作
EN

Stack Overflow用户
提问于 2017-06-15 13:02:54
回答 1查看 1.8K关注 0票数 2

我以前使用的是7.0.1,它工作得很好,但突然停止工作,给出了空指针异常,而使用variables.Then时,我将它更改为8.6.0

我的密码是这样的。

(项目分级)

代码语言:javascript
复制
dependencies {
    classpath 'com.jakewharton:butterknife-gradle-plugin:8.6.0'    
}

(应用级)

代码语言:javascript
复制
apply plugin: 'com.jakewharton.butterknife'

compile 'com.jakewharton:butterknife:8.6.0'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.6.0'

内片

代码语言:javascript
复制
public class ScheduleRideFragment extends Fragment {
@BindView(R.id.scheduleRideFragApplyCouponButton)
Button applyCouponButton;
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

    View view = LayoutInflater.from(getActivity()).inflate(R.layout.schedule_ride_fragment_layout, null);
    ButterKnife.setDebug(true);
    ButterKnife.bind(this, view);
    initAndSetListners();
    return view; 
}
private void initAndSetListners() {
applyCouponButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {

        }
    });
 }
}

但是它给了java.lang.NullPointerException(见日志)

注:我只张贴了相关代码。

我也看过这些123.的答案,但是不起作用--这两种情况(片段和活动)都在发生--我是不是做错了什么?

不能发布完整的schedule_ride_fragment_layout.xml代码,所以我只发布相关代码

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>

<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<LinearLayout
android:id="@+id/scheduleRideCouponButtonContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:animateLayoutChanges="true"
android:gravity="center"
android:orientation="vertical"
android:padding="5dp"
android:visibility="invisible">
<Button
android:id="@+id/scheduleRideFragApplyCouponButton"
android:layout_width="wrap_content"
android:layout_height="35sp"
android:background="@color/brightGreen"
android:ems="12"
android:text="APPLY COUPON"
android:textColor="@color/textColor" /></LinearLayout></android.support.design.widget.CoordinatorLayout>`
EN

回答 1

Stack Overflow用户

发布于 2017-06-15 13:32:41

蝴蝶刀8.6.0出发

将build.gradle中的类路径插件(项目级)中删除

代码语言:javascript
复制
dependencies {
       classpath 'com.jakewharton:butterknife-gradle-plugin:8.6.0'
}

build.gradle中只保留(App gradle)中的下列依赖项(如正式文件中所述)

代码语言:javascript
复制
compile 'com.jakewharton:butterknife:8.8.1'
annotationProcessor 'com.jakewharton:butterknife-compiler:8.8.1'

最后,对于onClickListener()使用OnClick注释,

代码语言:javascript
复制
@OnClick(R.id.scheduleRideFragApplyCouponButton)
public void onApplyCouponButtonClick(Button button){
}
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44568277

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档