将另一个项目用作android中的库后,黄油刀在我的现有项目中不起作用

时间:2018-07-19 12:40:51

标签: android module butterknife

compile 'com.jakewharton:butterknife:8.7.0'

@BindView(R.id.tvName)
TextView tvName;
private Unbinder unbinder;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.fragment_profile_view, container, false);

unbinder = ButterKnife.bind(this, view);
tvName.setText(name);    //its throwing null pointer exception
}

如果我从项目中删除该库,则黄油刀运行正常。

1 个答案:

答案 0 :(得分:0)

我遇到了同样的问题,在向项目添加空库模块后,ButterKnife停止工作,并报告了所有 @BindView 批注用法的错误。

Incorrectly typed data found for annotation element
public abstract int butterknife.BindView.value() (Found data of type R.id)

原来的问题是库模块的软件包名称与app模块之一的软件包名称相同。更改软件包名称后,错误消失了。